0

Я пытаюсь показать Fragment Dialog, когда пользователь нажимает на элемент на моем просмотре recycler.Как использовать FragmentDialog в классе, который расширяет RecyclerView.ViewHolder?

Бит я застрял в том, как использовать FragmentDialog в классе, который расширяет RecyclerView.ViewHolder?

Это то, что я до сих пор:

public class FinalHolder extends RecyclerView.ViewHolder{ 
     public FinalHolder(View view){ 
      super(view); 
      TextView username= (TextView)view.findViewById(R.id.username); 
      TextView address = (TextView)view.findViewById(R.id.address); 

      view.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        ViewFragmentDialog viewFragmentDialog = new ViewFragmentDialog(); 
        viewFragmentDialog.show() // THIS IS WHERE I AM HAVING TROUBLE. THE `show` METHOD EXPECTS A FRAGMENTACTIVITY 
       } 
      }); 
     } 
    } 

Метод viewFragmentDialog.show() где У меня возникли некоторые трудности - потому что он ожидает Fragment Activity но я использую RecyclerView.ViewHolder

ответ

1

Я не буду использовать DialogFragment в этом случае, если вы хотите явно называть его от RecyclerView.ViewHolder. Основная причина в том, что вам нужен доступ к FragmentManager к show() вашему подклассу DialogFragment, а вы этого не делаете. Я вижу два возможных решения. Самый простой - использовать обычный AlertDialog. Вам нужен контекст для доступа к нему, что вы можете легко получить с itemView.getContext() или использовать Delegate (ака Listener) общаться с Activity/Fragment, и показать DialogFragment оттуда

+0

насчет нормального 'Dialog'? Как добавить значения в строку за строкой? Есть идеи? –

+0

AlertDialog.Builder принимает адаптер. Посмотрите здесь [setAdapter] (http://developer.android.com/intl/es/reference/android/app/AlertDialog.Builder.html#setAdapter (android.widget.ListAdapter, android.content.DialogInterface.OnClickListener)) – Blackbelt

+0

Спасибо. Я пытаюсь добавить несколько кнопок в 'AlertDialog', например' Modify'. Это не было бы «PositiveButton» или «NegativeButton», и что бы это было? –