Начинаем новую деятельность с утилитыайзера - PullRequest
0 голосов
/ 30 января 2020

Я читаю данные из базы данных Firebase в режиме реального времени в представление переработчика, а в пункте просмотра переработчика есть кнопка для запуска нового действия. У меня есть этот метод onClick

public void bookBtnOnClick(final int position){
        mBookButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mContext.startActivity(new Intent(this,ReservationForm.class));
                }
        });
    } 

Но он не может решить намеренный конструктор

Ответы [ 7 ]

1 голос
/ 30 января 2020

попробуй ->

Intent intent =  new Intent(context, ReservationForm.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mcontext.startActivity(intent);
1 голос
/ 30 января 2020

Добавление большего к ответу @ S.ambika.

Измените this на mContext при создании Intent.

mContext.startActivity(new Intent(mContext,ReservationForm.class));

Как и при использовании this, оно даст текущий контекст. В вашем случае this возвращает контекст onClick, а для запуска нового действия нам нужен контекст Activity.

1 голос
/ 30 января 2020

Изменить 'this' на 'mContext' ;

mContext.startActivity(new Intent(mContext,ReservationForm.class));
1 голос
/ 30 января 2020

вместо , это , попробуйте mContext, так как, я думаю, вы пытаетесь это сделать внутри класса адаптера

  mContext.startActivity(new Intent(mContext,ReservationForm.class));
0 голосов
/ 30 января 2020
Define Context mContext;  on starting of adapter and in constructor use this.mcontext=mcontext;

mContext.startActivity (новое намерение (mContext, ReservationForm.class));

0 голосов
/ 30 января 2020

Как насчет этого

Intent intent = new Intent (v.getContext(), ReservationForm.class);
v.getContext().startActivity(intent);
0 голосов
/ 30 января 2020

попробуйте это:

public void bookBtnOnClick(final int position){
     mContext.startActivity(new Intent(context, ReservationForm.class));
} 
...