如何在与 onClicked 视图相同的位置获取相同 ViewHolder 中的其他视图(在 RecyclerView 适配器中使用)
How to get other views in same ViewHolder at same position as the onClicked view (use in a RecyclerView Adapter)
我的应用程序中有一个 RecyclerView,它显示一行包含从 Internet 下载的图片和照片。屏幕上有一张照片和一个按钮。当用户单击一个按钮时,我想让另一个视图显示在屏幕上的照片之上。
我有一个 CustomViewHolder 保存 RecyclerView 的所有视图和一个显示 viewholder 视图的 CustomRecyclerViewAdapter。按钮的 onClick 方法在 CustomViewHolder 中被覆盖,如下所示 -
public static class CustomViewHolder extends RecyclerView.ViewHolder
implements OnClickListener {
public Button mButton;
public ImageView mImageView1;
public ImageView mImageView2;
public CustomViewHolder(View v)
{
super(v);
mButton = (Button) ... // Initializing views
mImageView1 = (ImageView) ...
mImageView2 = (ImageView) ...
}
@Override
public void onClick(View v) {
int id = v.getId();
if(id == R.id.buttonid)
{
// TODO mImageView2.setVisibility(View.VISIBLE);
// Any ideas on how to get the mImageView2 of this same item so it can be made visible?
}
}
我需要一种方法来获取与单击按钮相同位置的 mImageView2 视图的引用。有人知道怎么做这个吗?如果有任何帮助,我将不胜感激。
尝试 ViewHolder 的 getAdapterPosition 方法。它将 return Holder 在 Recycler/Adapter
中的位置
另一种方法是在 Adapter
中实施 onBindViewHolder(ViewHolder holder, final int position)
此方法已将位置作为第三个参数。
喜欢
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
holder.mImageView2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
我的应用程序中有一个 RecyclerView,它显示一行包含从 Internet 下载的图片和照片。屏幕上有一张照片和一个按钮。当用户单击一个按钮时,我想让另一个视图显示在屏幕上的照片之上。
我有一个 CustomViewHolder 保存 RecyclerView 的所有视图和一个显示 viewholder 视图的 CustomRecyclerViewAdapter。按钮的 onClick 方法在 CustomViewHolder 中被覆盖,如下所示 -
public static class CustomViewHolder extends RecyclerView.ViewHolder
implements OnClickListener {
public Button mButton;
public ImageView mImageView1;
public ImageView mImageView2;
public CustomViewHolder(View v)
{
super(v);
mButton = (Button) ... // Initializing views
mImageView1 = (ImageView) ...
mImageView2 = (ImageView) ...
}
@Override
public void onClick(View v) {
int id = v.getId();
if(id == R.id.buttonid)
{
// TODO mImageView2.setVisibility(View.VISIBLE);
// Any ideas on how to get the mImageView2 of this same item so it can be made visible?
}
}
我需要一种方法来获取与单击按钮相同位置的 mImageView2 视图的引用。有人知道怎么做这个吗?如果有任何帮助,我将不胜感激。
尝试 ViewHolder 的 getAdapterPosition 方法。它将 return Holder 在 Recycler/Adapter
中的位置另一种方法是在 Adapter
onBindViewHolder(ViewHolder holder, final int position)
此方法已将位置作为第三个参数。
喜欢
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
holder.mImageView2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});