如何使用适配器上的按钮即可添加的ListView项目适配器、如何使用、按钮、项目

2023-09-07 13:27:58 作者:涼生

如何把在EditText上并点击提交,在窗口应该将它添加到previous活动列表视图项目类型的数据?我需要做的是:

How to take data that was typed in EditText and by clicking "submit" in that window should add it to previous activity listview items? What I need to do is:

创建的EditText和提交按钮在同一活动创建列表视图点击提交按钮应该在列表视图中显示。

我在这里看到了这个类似的问题:项目添加到ListView中动态的Andr​​oid

I saw this similar question here:add items to listview dynamically android

但我无法理解answer.Somebody请解释如何做到这一点。

But i couldn't understand the answer.Somebody please explain how to do this.

推荐答案

您只需做到以下几点:prepare你的XML是这样的:

You just do the following : Prepare your xml like this :

<?xml version="1.0" encoding="utf-8"?>

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/addItem"
    android:hint="Add a new item to List View" />

<Button
    android:id="@+id/addItem"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:text="Add" />

<ListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/editText" >
</ListView>

活动看起来像下面这样:

Activity looks like following :

public class MainActivity extends Activity {
    EditText editText;
    Button addButton;
    ListView listView;
    ArrayList<String> listItems;
    ArrayAdapter<String> adapter;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText = (EditText) findViewById(R.id.editText);
        addButton = (Button) findViewById(R.id.addItem);
        listView = (ListView) findViewById(R.id.listView);
        listItems = new ArrayList<String>();
        listItems.add("First Item - added on Activity Create");
        adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, listItems);
        listView.setAdapter(adapter);
        addButton.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                listItems.add(editText.getText().toString());
                adapter.notifyDataSetChanged();
            }
        });
        listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> a, View v, int position,
                    long id) {
                Toast.makeText(MainActivity.this, "Clicked", Toast.LENGTH_LONG)
                        .show();
            }
        });
    }
}