Я не совсем уверен, возможно ли это, но я пытаюсь изменить содержимое настраиваемого диалогового окна (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);
}
}
Как вы видите на картинке выше: У меня есть список позади, где отображается 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");
}
}
}
Как вы можете отобразить фрагмент диалога. отправьте код – Raghunandan
Конечно. Ну вот. – Perelan
Вы можете передать некоторые данные вашему диалогу frament и использовать это, чтобы изменить то, что вы хотите. Info @ http://developer.android.com/reference/android/app/DialogFragment.html – Raghunandan