[英]Android: Remove item (ListView)
I want to remove an item from ListView
, but I don't know how can I do it. 我想从
ListView
删除一个项目,但我不知道我该怎么做。
This is my code... 这是我的代码......
public void FLYNOTE_refresh() {
int i;
SharedPreferences Pref = getSharedPreferences("nnote", MODE_WORLD_READABLE); //созаётся файл настроек "nnote" и туда барыжиться вся хня
key = Pref.getInt("number", 0);
key++;
String lv_arr[] = new String[key];
for (i = 0; i < key; i++) {
lv_arr[i] = Pref.getString("n" + i, "none");
}
textView1.setText(String.valueOf(key));
listView1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));
listView1.setTextFilterEnabled(true);
}
I want to remove an item with 0 id
,guide me to do that. 我想删除一个
0 id
的项目,指导我这样做。
You can delete an item from ListView as: 您可以从ListView中删除项目:
ArrayAdapter<String> adapterlist = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, lv_arr);
listView1.setAdapter(adapter1);
adapter1.notifyDataSetChanged();
listView1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
adapter1.remove(position);
adapter1.notifyDataSetChanged();
});
and you can see these posts for removing an item from ListView: 并且您可以看到这些帖子从ListView中删除项目:
Remove ListView items in Android 在Android中删除ListView项目
Android: how to remove an item from a listView and arrayAdapter Android:如何从listView和arrayAdapter中删除项目
If you do not want to display item 0, simply adjust the size of lv_arr
and change your for-loop: 如果您不想显示项目0,只需调整
lv_arr
的大小并更改您的for循环:
public void FLYNOTE_refresh() {
int i;
SharedPreferences Pref = getSharedPreferences("nnote", MODE_WORLD_READABLE); //созаётся файл настроек "nnote" и туда барыжиться вся хня
key = Pref.getInt("number", 0);
String lv_arr[] = new String[key]; // One item smaller without "n0"
key++;
for (i = 1; i < key; i++) {
// Skip "n0" like this
lv_arr[i - 1] = Pref.getString("n" + i, "none");
}
textView1.setText(String.valueOf(key));
listView1.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, lv_arr));
listView1.setTextFilterEnabled(true);
}
If you want to remove items while the app is running I suggest using a List<String>
rather than a String[]
: 如果你想在应用程序运行时删除项目,我建议使用
List<String>
而不是String[]
:
public void FLYNOTE_refresh()
{
int i;
SharedPreferences Pref = getSharedPreferences("nnote", MODE_WORLD_READABLE); //созаётся файл настроек "nnote" и туда барыжиться вся хня
key = Pref.getInt("number", 0);
key++;
lv_arr = new ArrayList<String>();
for (i = 1; i < key; i++) {
lv_arr.add(Pref.getString("n" + i, "none"));
}
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, lv_arr);
listView1.setAdapter(adapter);
listView1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
lv_arr.remove(position);
adapter.notifyDataSetChanged();
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.