簡體   English   中英

MainActivity無法轉換界面

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM