[英]MainActivity can't cast interface
在MainActivity
我有界面
public interface MyListener{
void myMethod(boolean done);
}
但是當我嘗試投射onCreate
myListener = (MyListener) this;
我有java.lang.ClassCastException
我在MainActivity中也有變量:
private MyListener mylistener;
我應該在這里解決什么?
如果要執行以下interface
MainActivity
必須實現您的interface
:
myListener = (MyListener) this;
所以你的代碼應該像這樣
public class MainActivity extends AppCompatActivity implements MyListener {}
在您的Fragment
添加以下內容:
public class MyFragment extends Fragment {
private MyListener mListener;
@Override
public void onAttach(Context context) {
super.onAttach(context);
try {
mListener = (MyListener) context;
} catch (ClassCastException e) {
throw new ClassCastException(context.toString()
+ " must implement MyListener");
}
}
然后在您的MainActivity
public class MainActivity extends AppCompatActivity implements MyListener {
...
@Override
public void myMethod(Boolean done) {
//Stuff with this
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.