为什么当我删除数据库并删除ListView时,ArrayList中的数据没有擦除,而是更改为null。当向ArrayList添加数据时,这是我的代码:
List<FormPermohonanKredit> list = datasourcePK.getAllFormPK();
final ListIterator<FormPermohonanKredit> li = list.listIterator();
final String[] ListNamaNasabah = new String[list.size()];
int i = 0;
while(li.hasNext()){
FormPermohonanKredit form = li.next();
String Nama = form.getInfoPokok() != null ? form.getInfoPokok().getNama() : "null";
ListNamaNasabah[i] = Nama;
i++;
}
final ArrayList<Long> userList = new ArrayList<Long>();
userList.addAll(Arrays.asList(ListNamaNasabah));
listAdapter = new ArrayAdapter<String>(this, R.layout.activity_row_list, userList);
mainListView.setAdapter(listAdapter);
这是我的删除数据库和删除ListView的方法:
IDTable = IDList.get(position);
MySQLiteHelper db=new MySQLiteHelper(getApplicationContext());
db.delete("" + IDTable);
userList.remove(position);
listAdapter.notifyDataSetChanged();
我想在将" null“改为不同的文本之后,它也会改变,但是没有什么变化,它总是空的。删除之后和之前的ArrayList:
我想清除ArrayList中我选择的位置,而不是更改为null。
发布于 2015-06-04 00:10:40
由于我看不出代码之间的清晰关系,所以张贴的代码有点缺失。可能会在Adapter中显示更多代码。无论如何,我有一个代码建议,据我所见:从:
IDList.addAll(Arrays.asList(LisNamaNasabah));
至:
userList.addAll(Arrays.asList(LisNamaNasabah));
备注:
userList
。据我在当前发布的代码中所看到的,当前的代码正在填充IDList
的数据,而该数据并不用于适配器。但它确实向我解释了如何得到零和零的结果。发布于 2015-06-05 17:44:54
从理解过去的注释来看,您的代码取决于列表,代码:
List<FormPermohonanKredit> list = datasourcePK.getAllFormPK();
我怀疑datasourcePK
从数据库中获取数据。当您重新启动活动或应用程序时,数据会返回到零/空。这是代码从数据库中删除记录的标志。
你的代码:
db.delete("" + IDTable);
这将删除数据库中的记录,甚至可能删除整个表!
结论:代码从数据库中删除记录。我认为这就是你的应用程序的目的!从您的帖子中可以看出,ArrayList的删除方法和删除记录的方法不起作用,但它是.
我希望这能为你解释一切,一切都会好起来。
https://stackoverflow.com/questions/30634355
复制相似问题