我目前有一个实现接口的类

此代码块有效,但我的任务只能执行一次。

final ItemShopBuyItemTask buyItemTask = new ItemShopBuyItemTask(getActivity(), this);
            mButtonBuy.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    buyItemTask.execute(TEXTVIEW_ITEM_NAME);
                }
            });


当我期望在类顶部使用this实现的itemBoughtTaskListener时,如何在onClick(View v)函数内移动implements ItemShopBuyItemTask.itemBoughtTaskListener

public ItemShopBuyItemTask(Context context, itemBoughtTaskListener cb){
        dialog = new ProgressDialog(context);
        mCallback = cb;
    }

最佳答案

由于Fragment正在实现itemBoughtTaskListener,因此需要将FragmentName.this作为第二个参数传递:

@Override
 public void onClick(View v) {
      ItemShopBuyItemTask buyItemTask = new ItemShopBuyItemTask(getActivity(),
                                                    FragmentClassName.this);
      buyItemTask.execute(TEXTVIEW_ITEM_NAME);
 }

关于android - 单击监听器内部的异步任务将对接口(interface)的引用传递给,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33984781/

10-14 17:33