删除的问题通过老师的方法已经解决了,但是添加还是不太会写

删除的问题通过老师的方法已经解决了,但是添加还是不太会写

我是这么做的:

1、先在“首页”拿到“添加页面”已经添加到数据库的dish数据;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode ==0){
        if (resultCode==1){
        
            dish = data.getParcelableExtra("dish");
        }
    }
}

2、在“myAdapter”页面设置监听,在getChildView方法中添加监听方法;
public interface OnInsertListener {

    void listener(int i);
    
}

private OnInsertListener listener;
public void setOnInsertListener(OnInsertListener listener) {

    this.listener = listener;
    
}

······

@Override
public View getChildView(final int i, final int i1, boolean b, View convertView, ViewGroup viewGroup) {
        
        ······
        
        listener.listener(i);
        
        return convertView;
}

3、在“主页”让adapter实现接口中的方法;
adapter.setOnInsertListener(new MyExpandListAdapter.OnInsertListener() {

    @Override
    public void listener(int i) {
    
            if (dish!=null) {
            
                childList.get(i).add(dish);
                adapter.notifyDataSetChanged();
                
            }
            
    }
});

通过调试,一直出现添加的item重复显示的问题,并且程序关闭再启动,仍然会出现新建group的问题

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕雪 2019-07-02 10:04:35

1)大体思路是:在 onActivityResult()中去更新MyExpandListAdapter数据。删除是remove(),你这里是添加了一条数据,你add到子菜单就行了。注意只添加子菜单,type就不要动了,因为没有添加type的功能。2)MyExpandListAdapter中自己增加一个方法,获取子菜单,并更新子菜单。3)其实还有一种实现方式,就是在 onActivityResult()中直接查询源数据,就跟开始一打开此Activity流程基本相似。祝:学习愉快

  • 提问者 Binngirl #1
    我这里是用childList.get(i).add(dish)来添加的,并没有添加type,但是dish类里面有type,如果dish不传type,就直接闪退了,重启程序总是新建一个group
    2019-07-02 13:08:26
  • 提问者 Binngirl #2
    我试了你的方法,直接在result方法里去更新数据,但我还是不明白type不要动是什么意思,是直接调用childItem.add()吗?这个我试了还是之前的bug,我还是直接添加到childList.get(i).add(dish)里的; 还有你说的第二条,我不知道怎么在adapter更新和获取子菜单; 最后一条我试了一下,程序直接闪退了。
    2019-07-02 14:13:50
  • 好帮手慕雪 回复 提问者 Binngirl #3
    就是只更新childList不改groupList
    2019-07-02 15:37:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师