2017-10-08 163 views
0

我制作了一个程序,您可以将人员添加到等待列表中并将其删除。
我使用LinkedList来存储人员。
这一切工作正常,这里的代码添加到等待名单:将项目添加到LisView

package example.warteschlange; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import java.util.LinkedList; 
import java.util.List; 

public class MainActivity extends AppCompatActivity { 

    private TextView liste; 
    private List<String> ls; 
    private Button hinz,aufr; 
    private EditText edT; 
    private String t; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity1); 
     hinz = (Button) findViewById(R.id.hinz); 
     hinz.setEnabled(true); 
     aufr = (Button) findViewById(R.id.aufr); 
     aufr.setEnabled(true); 
     ls = new LinkedList<String>(); 
     edT = (EditText) findViewById(R.id.edT); 
     edT.setEnabled(true); 
     liste = (TextView) findViewById(R.id.liste); 
     liste.setText("Liste"); 
     hinz.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       t = edT.getText().toString(); 
       if(t.isEmpty()==true){ 
        edT.setError("Feld darf nicht leer sein!"); 
       }else { 
        ls.add(t); 
        liste.setText(ls.toString()); 
        edT.getText().clear(); 
        edT.setHint("Name eingeben"); 
       } 
      } 
     }); 
     aufr.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       ls.remove(ls.get(ls.size()-1)); 
       if(ls.isEmpty()==true){ 
        liste.setText("Fertig mit der Warteschlange"); 
        aufr.setOnClickListener(new View.OnClickListener() { 
         @Override 
         public void onClick(View view) { 

         } 
        }); 
        return; 
       } 

       liste.setText(ls.toString()); 
      } 
     }); 
    } 
} 

但是我想表明的等待名单(这是在一个TextView所示的时刻)在ListView。
有谁知道我该如何做到这一点,以及如何添加项目到这个视图?

回答

0

您将需要使用ArrayAdapter类。你可以参考下面的代码:

String[] data = { 
    "Name 1", 
    "Name 2", 
    "Name 3", 
    "Name 4", 
    "Name 5", 
}; 
List<String> waitlistNames = new ArrayList<String>(Arrays.asList(data)); 

使用上面的数据实例化ArrayAdapter

mWaitListAdapter = new ArrayAdapter<String>(
       getActivity(), 
       R.layout.list_item_names, 
       R.id.list_item_names_textview, // The ID of the textview to populate. 
               //This is inside your list_item_names layout. 
       waitlistNames); 

最后,

ListView listView = (ListView) rootView.findViewById(R.id.listview_waitlist); 
     listView.setAdapter(mWaitListAdapter); 
+0

好,不过我已经存储在一个LinkedList的人,我想在“列表”中显示此人(每个人在新的林中) –

+0

waitlistNames可以是ArrayList或LinkedList,你应该没问题。 – user1506104

+0

它说“无法解析构造函数”ArrayList(java.util.List >) –