想要在Expandablelistview中的按钮单击android时调用Main Activity

问题描述 投票:0回答:2

我有一个带有按钮的Expandablelistview,它从数据库中删除了listview的项目。这些项目已被删除,但我需要离开活动并返回到该项目以查看该项目已消失。我想只是调用主要活动,但startActivity(intent)用红色加下划线。我尝试了各种各样的。请有人帮忙。谢谢

@Override
public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup)
{
    final String item = (String)this.getGroup(i);

    if (view == null) {
        LayoutInflater layoutInflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = layoutInflater.inflate(R.layout.parent_layout, null);
    }

    final TextView itemTV = view.findViewById(R.id.parent_shopping_item);
    itemTV.setText(item);
    CheckBox checkBox = view.findViewById(R.id.checkBox);
    Button deleteItemBtn = view.findViewById(R.id.button);
    checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
    {
        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked)
        {
            itemTV.setPaintFlags(itemTV.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
            if (! isChecked)
            {
                itemTV.setPaintFlags(itemTV.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
            }
        }
    });

    deleteItemBtn.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
            DBManager dbManager = new DBManager(context, null, null, 1);
            dbManager.deleteItem(item);
            Intent intent = new Intent(context, MainActivity.class);
            startActivity(intent);
        }
    });
    return view;
}
android expandablelistview expandablelistadapter
2个回答
0
投票

我打电话

 yourAdapter.notifyDataSetChanged();

而不是尝试再次调用您的活动,将更新您的listView。


0
投票

需要在onClick方法中添加:

@Override
public void onClick(View view)
{
    DBManager dbManager = new DBManager(context, null, null, 1);
    dbManager.deleteItem(item);
    Intent intent = new Intent(context, MainActivity.class);
    Bundle bundle = new Bundle();
    startActivity(context, intent, bundle);
}
© www.soinside.com 2019 - 2024. All rights reserved.