想要实现的功能:每次从第二个Activity跳转回这个Activity的时候,更新这个Activity的listview。
出现的问题:在第二个Activity点击返回键的时候黑屏
关键代码如下:
@Override
protected void onStart() {
super.onStart();
for (int i = 0; i < listitem.size(); i++) {
HashMap map = listitem.get(i);
String num = "" + (i + 1);
if (rfidNum != null && map.get(rfidNum) != null) {
List list = reFreshDataMap.get(rfidNum);
String QR_Code = (String) list.get(i);
map.put("list_qrcode"+num, QR_Code);
}
listitem.add(map);
}
listItemAdapter.notifyDataSetChanged();
}
求解答求讨论,谢谢!!!
补充代码如下
listitem = new ArrayList<>();
listItemAdapter = new SimpleAdapter(this,
listitem,
R.layout.qcode_list,
new String[]{"list_rfid", "list_button",
"list_qrcode1", "list_qrcode2", "list_qrcode3",
"list_qrcode4", "list_qrcode5"},
new int[]{R.id.qcode_list_tv, R.id.qcode_list_bt,
R.id.qcode_tv_1, R.id.qcode_tv_2, R.id.qcode_tv_3,
R.id.qcode_tv_4, R.id.qcode_tv_5}) {
你跳转的时候不能 startActivityForResult(intent, 0);吗?然后在onActivityResult里面进行操作
for (int i = 0; i < listitem.size(); i++) {
HashMap map = listitem.get(i);
String num = "" + (i + 1);
if (rfidNum != null && map.get(rfidNum) != null) {
List list = reFreshDataMap.get(rfidNum);
String QR_Code = (String) list.get(i);
map.put("list_qrcode"+num, QR_Code);
}
你这一些循环是不是有问题啊
学学调试吧,新手最欠缺的。代码这么简单,会调试的话,很快就能解决
为什么要把数据加载写在onStart方法里面呢。如果第二个界面里没有对集合里面的数据进行处理的话,还是写在onCreate方法里面比较好,不会在返回的时候重复添加数据