2017-10-08 198 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 >) –