【问题标题】:How to call a fragment method in adapter如何在适配器中调用片段方法
【发布时间】:2020-06-13 07:08:49
【问题描述】:

我有一个片段包含一个 recyclerview 和 textview,所以我想调用我在 recyclerview 适配器内的片段中声明的方法,因为我在每个 recyclerview 项目中有一个加号按钮,所以当我点击它时,该方法将被调用所以片段中的文本视图会改变它的值。

片段代码

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {


    View view = inflater.inflate(R.layout.fragment_cart, container, false);

    ItemsAddedToCart = view.findViewById(R.id.itemsAddRV);
    Total = view.findViewById(R.id.TotalPrice);


    fillCart = new FillCart(c,cartList);
    ItemsAddedToCart.setAdapter(fillCart);
    ItemsAddedToCart.setLayoutManager(new LinearLayoutManager(c));


    return view;
}

分片法

public void updateTotal()
{
    Total.setText(fillCart.Total());
}

适配器

适配器方法

public String Total()
{
    return String.valueOf(price * Qt);
}

加号按钮

((ViewHodler)holder).plusBut.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            price = Integer.parseInt(((ViewHodler)holder).price.getText().toString());
            Qt = Integer.parseInt(((ViewHodler)holder).quantity.getText().toString());
            Qt++;`

            // FRAGMENT METHOD WILL CALLED HERE
        }
    });

【问题讨论】:

  • 你试过胶水界面吗? (发送/接收事件的接口)

标签: android android-studio android-fragments android-adapter


【解决方案1】:

正如哈桑·塔雷克所说: 使用这个概念->https://developer.android.com/training/basics/fragments/communicating

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    相关资源
    最近更新 更多