java—我可以将适配器中的数据按包(在适配器中单击自定义布局中的view按钮)发送到另一个片段吗?

50pmv0ei  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(508)

我使用tablayout和push item tab by java类将其与fragment连接,但我需要使用另一个fragment从适配器发送数据,到fragment我使用bundle,它从适配器获取数据,但当reach to fragment bundle为null时。我在适配器的bindviewholder中有以下代码:

holder.btn_tobuy.setOnClickListener(new View.OnClickListener() {
             FragmentShoping fragmentShoping = new FragmentShoping();
             @Override
             public void onClick(View v) {
                 String name_meal=holder.Name_Meal.getText().toString();

                 Bundle bundle = new Bundle();
                 bundle.putString("name",name_meal);
                 Log.i("BUNDLE", bundle.toString());
                 fragmentShoping.setArguments(bundle);
             }
         });

然后这个代码片段:

Bundle bundle = this.getArguments();
    if(bundle!=null) {
        String i = bundle.getString("name", "un_name");
        shopingMeals.setName_Meal(i);
        shopingMeals.setPrice(10);
        shopingMeals.setCount(5);
        shopingMeals.setImg_meal(R.drawable.burger_1);
        list.add(shopingMeals);

    }

我尝试将此代码放入createdview或oncreate-in-fragment中,但同样的问题是,我需要通过bundle或其他方式将数据从适配器发送到fragment。谢谢,

9rbhqvlz

9rbhqvlz1#

这里提供了一个很好的答案
尝试检索值而不是绑定
所以:

if(getArguments() != null)
  shippingMeals.setName_Meal(getArguments().getString("name"));

相关问题