【问题标题】:AlertDialog Builder inside holder.itemView.setOnClickListener onBindViewHolderHolder.itemView.setOnClickListener onBindViewHolder 内的 AlertDialog Builder
【发布时间】:2018-12-11 10:57:04
【问题描述】:

当用户单击 RecyclerView 项目时,我试图从数据库中删除一个项目,一个确认对话框打开,如果用户按下是,那么它将从 firebase 中删除该项目。

我认为问题是由于上下文原因,应用程序中没有显示警报对话框,因此我应该在上下文中输入什么以在屏幕上显示 alertDialog

public void onBindViewHolder(@NonNull final DishViewHolderModify holder, int position) {

    final Dish dish = dishList.get(position);
    holder.textViewDishName.setText(dish.getmName());
    Picasso.get().load(dish.getmImageUrl()).networkPolicy(NetworkPolicy.OFFLINE).into(holder.imageViewDishImage, new Callback() {
        @Override
        public void onSuccess() {
        }
        @Override
        public void onError(Exception e) {
            Picasso.get().load(dish.getmImageUrl()).into(holder.imageViewDishImage);
        }
    });
    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.d("Click Happen","Yes");
            final String dishName = holder.textViewDishName.getText().toString();
            new AlertDialog.Builder(v.getContext()) // problem over here
            .setTitle("Delete Dish")
            .setMessage("Are you sure you want to delete")
            .setIcon(R.drawable.ic_delete_forever_black_24dp)
            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    letsDeleteDish(dishName);
                }
            }).setNegativeButton("No",null);
        }
    });

}

【问题讨论】:

    标签: android firebase firebase-realtime-database android-recyclerview android-alertdialog


    【解决方案1】:

    我相信你的问题是你没有在你的AlertDialog.Builder 实例上调用show()。我认为您的 Context 参数没有任何问题。

    这是构建器的最后一行:

    }).setNegativeButton("No",null);
    

    也许这应该是这样的:

    }).setNegativeButton("No",null)
    .show();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-10
      • 2017-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多