如何在recyclerview中对每个卡片视图实施单选警报对话框?

时间:2019-08-09 21:10:13

标签: android android-studio android-recyclerview android-cardview

我是Android开发的新手。我正在构建一个在recyclerview内部具有cardviews的应用程序。我想选择一个警报对话框列表并进行处理。我正在使用FirebaseUI库填充recyclerview。

这是我的ViewHolder类:

public class FriendListViewHolder extends RecyclerView.ViewHolder{

public CircleImageView friendPhoto;
public TextView friendName;
public CardView friendsCardView;

public FriendListViewHolder(@NonNull final View itemView) {
    super(itemView);

    friendPhoto = itemView.findViewById(R.id.friendProfilePhoto);
    friendName = itemView.findViewById(R.id.friendNameText);
    friendsCardView = itemView.findViewById(R.id.friends_cardview);

    }

}

每当用户单击卡片视图时,都会弹出alerdialog。但是请记住,我需要知道选择了哪个carview。

2 个答案:

答案 0 :(得分:2)

我正在尝试但未经测试,这个概念就是这样,如果不适合您,请告诉我

Insertion of Hinata succeeded
Insertion of Hinata failed
Insertion of Hinata failed

Hinata     | 162.8cm

尽管提到了这些问题RecyclerView onClickHow do I display an alert dialog on Android?

答案 1 :(得分:0)

在您的适配器类中,重写onBindViewHolder方法,如下所示

        @Override
        protected void onBindViewHolder(@NonNull FriendListViewHolder holder, final int position, @NonNull Model model) { 

            holder.friendsCardView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    new AlertDialog.Builder(context)
                        .setTitle("CardView Position")
                        .setMessage("CardView Position is " + String.valueOf(position))
                        .setCanceledOnTouchOutside(true)
                        .show();
                }
            });

        }

上面的代码将显示一个警报对话框,其中包含已单击的cardView的位置。希望对您有帮助