MainActivity не может использовать интерфейс - PullRequest
0 голосов
/ 04 октября 2018

В MainActivity У меня есть интерфейс

   public interface MyListener{
        void myMethod(boolean done);
    }

, но когда я пытаюсь разыграть onCreate

myListener = (MyListener) this;

, я получил java.lang.ClassCastException

Я такжеесть переменная в MainActivity:

private MyListener mylistener;

Что мне здесь исправить?

1 Ответ

0 голосов
/ 04 октября 2018

Вы 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 
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...