请注意!这个问题现在已经解决,但仍然想知道如何?请解释一下?
这些是我的回调函数,它在自定义适配器GridCartAdapter
的setter方法中被引用,在活动类中声明。
gridCartAdapter.setOnDeleteCartItem(ProductListActivity.this);
gridCartAdapter.setOnAddCartItems(ProductListActivity.this);
这里是GridCartAdapter
public void setOnAddCartItems(OnAddCartItems onAddCartItems)
{
this.onAddCartItems = onAddCartItems;
}
public void setOnDeleteCartItem(onDeleteCartItem onDeleteCartItem) {
this.onDeleteCartItem = onDeleteCartItem;
}
所以如果我在非活动类中做同样的工作
gridCartAdapter.setOnDeleteCartItem((onDeleteCartItem)context);
gridCartAdapter.setOnAddCartItems((OnAddCartItems)context);
它给出了java.lang.ClassCastException: pk.wiseapps.wisemart.app.activity.SpecificProductActivity cannot be cast to pk.wiseapps.wisemart.app.onDeleteCartItem
Jus将此更改为我的代码
if(context instanceof onDeleteCartItem){
gridCartAdapter.setOnDeleteCartItem((onDeleteCartItem)context);
}
if(context instanceof OnAddCartItems){
gridCartAdapter.setOnAddCartItems((OnAddCartItems)context);
}
在这里输入代码