如何从BaseExpandableListAdapter删除行后刷新ListView行?

时间:2014-08-22 13:22:55

标签: android listview expandablelistview

在我的应用程序中,我使用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();       

            }
        });

谢谢.. :))

1 个答案:

答案 0 :(得分:1)

使用

删除行通知适配器后
adapter.notifyDataSetChanged();