android - 如何使用单个自定义对话框类更改 RecyclerView 内的自定义布局?
问题描述
我有很多 CardViews,我想在每次点击 cardView 时显示自定义对话框我称它为显示错误并且应用程序崩溃了。
这是我的对话类:
public class MyDialog extends DialogFragment {
int resource;
public void getData(int resource)
{
this.resource=resource;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());
LayoutInflater inflater=getActivity().getLayoutInflater();
builder.setView(inflater.inflate(resource,null));
return builder.create();
}
}
这是我的 onBindViewHolder 方法
@Override
public void onBindViewHolder( MyViewHolder holder, final int position) {
Model model=albums.get(position);
holder.category_name.setText(model.getCategory());
holder.items_count.setText(model.getItems());
holder.thumbnail.setImageResource(model.getThumbnail());
Glide.with(context).load(model.getThumbnail());
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String n=albums.get(position).getCategory();
myDialog=new MyDialog();
if (n.equals("Burger"))
{
myDialog.getData(R.layout.custom_dialog_layout);
fm=((AppCompatActivity)context).getSupportFragmentManager();
myDialog.show(fm,"my_dialog");
}
if (n.equals("Burger"))
{
myDialog.getData(R.layout.chawomin);
fm=((AppCompatActivity)context).getSupportFragmentManager();
myDialog.show(fm,"my_dialog");
}
}
});
}
解决方案
推荐阅读
- php - Laravel 模型组按问题。我不知道该怎么称呼它
- sql - 如何在具有功能索引的表上删除行后清理未使用的空间?
- python - 在python的数据框中计算每个日期的事件数
- java - 使用外部数据库对 getApplicationContext 的空对象引用
- mysql - 如何使用 nodejs 和 mysql 制作购物车?
- apache-kafka - 如何确定 Kafka 的 API 版本?
- mongodb - 为什么 MongoDB 计数查询有时使用 IXSCAN,解释显示 COUNT_SCAN?
- html - 为什么 IE11 中图标丢失和文本被压缩?
- android - android录音应用程序无法在智能手机上运行
- c# - 将米添加到基于矢量的点