2016-01-22 2 views
0

Я не совсем уверен, возможно ли это, но я пытаюсь изменить содержимое настраиваемого диалогового окна (read: content as in 1 imageview и 3 textviews) внутри адаптера Recycliewiew.Изменение содержимого диалогового окна с адаптером Recycliewiew

Мой текущий заказ DialogFragment:

public class ServiceDialogFragment extends DialogFragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.service_card, container, false); 
    } 
} 

И расположение: enter image description here

Как вы видите на картинке выше: У меня есть список позади, где отображается DialogFragment и всякий раз, когда я нажимаю один из тех «кнопок», которые появляется диалоговое окно. Но мой вопрос:: как мне изменить содержимое пользовательского DialogFragment внутри моего адаптера Recycliewiew?

Мой адаптер:

public class ServiceAdapter extends RecyclerView.Adapter<ServiceAdapter.ViewHolder>{ 
    private final String TAG = "******* Service Adapter"; 
    private ArrayList<ServiceObject> mDataset; 
    private Context mContext; 
    private Resources mResources; 
    private Context location; 

    public ServiceAdapter(ArrayList<ServiceObject> mDataset, Context mContext, Resources mResources) { 
     this.mDataset = mDataset; 
     this.mContext = mContext; 
     this.mResources = mResources; 
    } 

    @Override 
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     location = parent.getContext(); 
     View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.service_box, parent, false); 

     return new ViewHolder(v); 
    } 

    @Override 
    public void onBindViewHolder(ViewHolder holder, int position) { 
     holder.title.setText(mDataset.get(position).getTitle()); 
     holder.icon.setImageResource(mResources.getIdentifier(Integer.toString(mDataset.get(position).getIcon()), "drawable", "net.example.adapter")); 
    } 

    @Override 
    public void onAttachedToRecyclerView(RecyclerView recyclerView) { 
     super.onAttachedToRecyclerView(recyclerView); 
    } 

    @Override 
    public int getItemCount() { 
     return mDataset == null ? 0 : mDataset.size(); 
    } 


    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ 

     TextView title, desc, price; 
     ImageView icon; 

     public ViewHolder(View v) { 
      super(v); 
      title = (TextView) v.findViewById(R.id.service_box_title); 
      price = (TextView) v.findViewById(R.id.service_card_price); 
      icon = (ImageView) v.findViewById(R.id.service_box_icon); 
      v.setOnClickListener(this); 
     } 

     @Override 
     public void onClick(View v) { 
      FragmentActivity activity = (FragmentActivity)(mContext); 
      FragmentManager fm = activity.getSupportFragmentManager(); 
      ServiceDialogFragment alertDialog = new ServiceDialogFragment(); 
      alertDialog.show(fm, "display_service"); 
     } 
    } 
} 
+1

Как вы можете отобразить фрагмент диалога. отправьте код – Raghunandan

+0

Конечно. Ну вот. – Perelan

+1

Вы можете передать некоторые данные вашему диалогу frament и использовать это, чтобы изменить то, что вы хотите. Info @ http://developer.android.com/reference/android/app/DialogFragment.html – Raghunandan

ответ

Смежные вопросы