我目前有一个实现接口的类
这段代码有效,但我的任务只能执行一次。
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
public ItemShopBuyItemTask(Context context, itemBoughtTaskListener cb){
dialog = new ProgressDialog(context);
mCallback = cb;
}
答案 0 :(得分:2)
因为Fragment正在实现itemBoughtTaskListener
,所以需要将FragmentName.this作为第二个参数传递:
@Override
public void onClick(View v) {
ItemShopBuyItemTask buyItemTask = new ItemShopBuyItemTask(getActivity(),
FragmentClassName.this);
buyItemTask.execute(TEXTVIEW_ITEM_NAME);
}
答案 1 :(得分:0)
我理解的是你想要这一行
final ItemShopBuyItemTask buyItemTask = new ItemShopBuyItemTask(getActivity(), this);
在onClick方法中。 所以你可以使用
final ItemShopBuyItemTask buyItemTask = new ItemShopBuyItemTask(getActivity(), ClassName.class);
希望它能奏效。
答案 2 :(得分:0)
然后你能做的就是:
public void accessWebService(){
ItemShopBuyItemTask buyItemTask = new ItemShopBuyItemTask(getActivity(), itemBoughtTaskListener cb);
buyItemTask.execute(TEXTVIEW_ITEM_NAME);
}
并根据需要多次调用此方法!!!