Я пробовал, как показано ниже, по методу onClick() класса recyelerview.viewholder.Запуск DialogFragment из класса, расширяющего RecyclerView.ViewHolder
SampleDialogFragment, используемый в примере, расширяет DialogFragment.
@Override
public void onClick(View v)
{
SampleDialogFragment df= new SampleDialogFragment();
df.show(v.getContext().getSupportFragmentManager(), "Dialog");
}
У меня проблема с v.getContext().getSupportFragmentManager()
. Я не могу вызвать getSupportFragmentManager().
Я также пробовал, как показано ниже.
@Override
public void onClick(View v)
{
SampleDialogFragment df= new SampleDialogFragment();
SampleActivity activity = new SampleActivity();
df.show(activity.getSupportFragmentManager(), "Dialog");
}
Образец Активности - это вид деятельности, на котором вид ресайклера. Он не показывает ошибок. Когда я запускаю приложение и рушится.
Журнал показывает, что деятельность была разрушена.
Любое решение?
перевале в 'context' через конструктор адаптера и использовать его, чтобы получить Экземпляр FragmentManger. Или используйте метод обратного вызова для прослушивания события click в SampleActivity. Не создавайте 'new SampleActivity()' – Emil
'getActivity(). GetSupportFragmentManager()', если у вас есть фрагмент –
@Boss Я попробовал. Я не могу вызвать getSupportFragmentManager с контекстом в recyclerview.viewholder. –