[英]Android: Remove item (ListView)
我想從ListView
刪除一個項目,但我不知道我該怎么做。
這是我的代碼......
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);
}
我想刪除一個0 id
的項目,指導我這樣做。
您可以從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();
});
並且您可以看到這些帖子從ListView中刪除項目:
如果您不想顯示項目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);
}
如果你想在應用程序運行時刪除項目,我建議使用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.