показ пользовательского фрагмента диалога при нажатии кнопки в представлении повторного использования внутри фрагмента - PullRequest
0 голосов
/ 08 мая 2019

У меня есть кнопки в списке повторного просмотра, который находится во фрагменте. Я хочу иметь всплывающее окно (с пользовательским макетом) при нажатии кнопки.

Таким образом, я объявил setOnClickListener в моем адаптере просмотра корзины. При нажатии кнопки вызывается следующая функция:

    public void showPopup() {

    DialogFragment dialogFragment = new bookingpopdialog();

    dialogFragment.show(((FragmentActivity)mContext).getSupportFragmentManager(), "OpenPopup");


}

Нет ошибок при сборке. Однако, когда я нажимаю кнопку на моем телефоне, возникает ошибка, сообщающая, что

android.app.Application cannot be cast to android.support.v4.app.FragmentActivity

1 Ответ

0 голосов
/ 08 мая 2019

Вы можете поместить в свой класс адаптера перед методом onCreate следующее объявление

protected View.OnClickListener onClickListener;

Затем в классе адаптера в методы положите метод setOnItemClickListener

public void setOnItemClickListener(View.OnClickListener onClickListener) {
    this.onClickListener = onClickListener;
}

В основном классе или там, где у вас есть адаптер для заполнения recyclerView, возьмите переменную адаптера и сделайте так

// DispositivosAdapter its my adapter variable
    DispositivosAdapter.setOnItemClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // devicesList is an Arraylist
            // recyclerView its the name of my recycler in my xml document
            // .getName() its a method from my class Devices
            String device = devicesList.get(recyclerView.getChildAdapterPosition(v)).getName();

            Snackbar.make(v, "Hi I'm " + device, Snackbar.LENGTH_LONG)
                    .show();
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...