将项目添加到Android ListView

时间:2017-10-08 10:38:39

标签: android listview

我制作了一个程序,您可以将人员添加到等待列表中并将其删除 我使用LinkedList来存储人员。
这一切都很好,这是等待名单的代码:

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());
            }
        });
    }
}

但我想在ListView中显示等待列表(目前在TextView中显示) 我该怎么做?如何在此视图中添加项目?

1 个答案:

答案 0 :(得分: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);