关于作业,还有一个小问题,之前提过的。

来源:5-4 作业题

Binngirl

2019-07-06 16:21:47

按照提交作业老师给的提示,已经可以实时更新数据到界面了,可是还有自动重复更新菜单列表的问题没有解决。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode ==0) {
        if (resultCode==1) {
            //在result方法里面进行实时更新数据
            getMenuData();
            adapter = new MyExpandListAdapter(MainActivity.this, groupList, childList);
            expandListView.setAdapter(adapter);
        }
    }
}

//获取menudemo App数据的方法
public void getMenuData() {
    String preType = "";
    groupList.clear();
    childList.clear();

    Cursor dishCursor = getContentResolver().query(Uri.parse("content://com.imooc.menuprovider"), null, null, null,null);
    while (dishCursor.moveToNext()) {
        int dishId = dishCursor.getInt(dishCursor.getColumnIndex("dish_id"));
        String dishType = dishCursor.getString(dishCursor.getColumnIndex("dish_type"));
        final String dishName = dishCursor.getString(dishCursor.getColumnIndex("dish_name"));

        Dish d = new Dish(dishId, dishType, dishName);

        if (!dishType.equals(preType)) {
            if (!preType.equals(""))
                childList.add(childItemList);
            childItemList = new ArrayList<>();
            groupList.add(dishType);
            preType = dishType;
        }
        childItemList.add(d);
    }
    childList.add(childItemList);
}

我觉得应该是getMenuData()方法的问题,但是怎么改都实现不了,求指教。

http://img.mukewang.com/climg/5d2059ab000141a610802340.jpg


写回答

1回答

irista23

2019-07-07

在下图位置重新将ChildItemList置为空。

http://img.mukewang.com/climg/5d215a050001d44e11440818.jpg

0
hrista23
回复
hinngirl
h 你可以把map中的数据抽取出来,塞到你要传入的类型里
h019-07-10
共8条回复

0 学习 · 1012 问题

查看课程