我正在尝试使用Listview中的EditText和Button执行添加/删除项目。
在EditText中键入一些文本并单击按钮后,将在下面添加此新项目。单击该项目时,将删除该项目。
可以正常使用
final ArrayAdapter<String>arrayAdapter=new ArrayAdapter<String>
(Main.this,android.R.layout.simple_list_item_1,arrayList);
这是编码。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String get_text=editText.getText().toString();
arrayList.add(get_text);
final ArrayAdapter<String>arrayAdapter=new ArrayAdapter<String>(Main.this,android.R.layout.simple_list_item_1,arrayList);
listView.setAdapter(arrayAdapter);
editText.setText("");
listView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
arrayList.remove(position);
arrayAdapter.notifyDataSetChanged();
}
});
}
});
但是,如果我更改为Listview的自定义布局,它将不起作用。单击该项目时,它不会删除,也不会出现错误提示
final ArrayAdapter<String>arrayAdapter=new ArrayAdapter<String>
(Main.this,R.layout.row,R.id.textView,arrayList);
答案 0 :(得分:2)
已对代码进行了更改。试试这个。 :)
final ArrayAdapter<String>arrayAdapter=new ArrayAdapter<String>(Main.this,android.R.layout.simple_list_item_1,arrayList);
listView.setAdapter(arrayAdapter);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String get_text=editText.getText().toString();
arrayList.add(get_text);
editText.setText("");
arrayAdapter.notifyDataSetChanged();
}
});
listView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
arrayList.remove(position);
arrayAdapter.notifyDataSetChanged();
}
});