在MainActivity
中,我具有界面
public interface MyListener{
void myMethod(boolean done);
}
但是当我尝试投射onCreate
myListener = (MyListener) this;
我得到了java.lang.ClassCastException
我在MainActivity中也有变量:
private MyListener mylistener;
我应该在这里解决什么?
答案 0 :(得分:0)
如果您想执行以下操作,则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
}