我想从中删除一个项目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,指导我执行此操作。
0 id
如果您不想显示项目0,只需调整其大小lv_arr并更改for循环即可:
lv_arr
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); }
如果您想在应用程序运行时删除项目,建议您使用a List<String>而不是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(); } }); }