在我的应用程序中,我使用BaseExpandableListAdapter来显示我的数据库。我在" getChildView"中创建了一个按钮。当我点击它时,当前行被删除。我的问题是在MainActivity.class上的listView更新,而不是在BaseExpandableListAdapter.class。如何在不同的类中更改数据并实时刷新后刷新数据。
MainActivity.class我从ArrayList中的Db获取数据:
hand = new DbHandler(getActivity());
fullList = new HashMap<ArrayList<ClockModel>, ArrayList<ClockModel>>();
ArrayList<ClockModel> temp = new ArrayList<ClockModel>();
child = new ArrayList<ClockModel>();
child = hand.getDay(workName);
for (int i = 0; i < child.size(); i++) {
ClockModel m1 = new ClockModel(
child.get(i).getId(),
child.get(i).getWorkName(),
child.get(i).getDateDay(),
child.get(i).getDateMonth(),
child.get(i).getDateYear()
temp.add(m1);
fullList.put(child, child);
}
在BaseExpandableListAdapter上我有一个删除空格行的按钮:
btnRemove = (ImageButton) convertView.findViewById(R.id.row_btnRemove);
btnRemove.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DbHandler hand = new DbHandler(context);
int currendId = fullList.get(child).get(groupPosition).getId();
hand.deleteDay(currendId);
Toast.makeText(context, "Del : "+currendId, 2000).show();
}
});
谢谢.. :))
答案 0 :(得分:1)
使用
删除行通知适配器后adapter.notifyDataSetChanged();