gpt4 book ai didi

java - onclicklistener onclicklistener on the specific item of the recyclerview in android

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:14:26 26 4
gpt4 key购买 nike

我要问一个非常基本的问题,但我被困了很长时间。

在卡片 View 之后有一个回收 View ,每行有 2 个图像。现在我想在图像上创建点击监听器而不是 recycleview。

这个 Activity (MainActivity.java)对应的布局(layout_main.xml)只包含recyclerview。每行的元素都在另一个布局中(layout_images.xml)。我从 layout_images.xml 中获取图像并在适配器类 (Adapter.java) 中将它们膨胀。

现在如何将 Action 监听器仅放在图像上。

其次,我想获取我点击的图像。如何得到它。比如,当我们点击一​​个 View 时,我们创建了一些方法作为

public void onClick(View view){
// some code here
}

其中 view 是我们点击的对象。在我的例子中,如何获取我点击的图像。使用类型转换,当用户不点击图像时可能会抛出异常。

最佳答案

recyclerView 中的多个 onClick 事件:

public static class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {

public ImageView iconImageView;
public TextView iconTextView;

public MyViewHolder(final View itemView) {
super(itemView);

iconImageView = (ImageView) itemView.findViewById(R.id.myRecyclerImageView);
iconTextView = (TextView) itemView.findViewById(R.id.myRecyclerTextView);
// set click event
itemView.setOnClickListener(this);
iconTextView.setOnClickListener(this);
// set long click event
iconImageView.setOnLongClickListener(this);
}

// onClick Listener for view
@Override
public void onClick(View v) {
if (v.getId() == iconTextView.getId()) {
Toast.makeText(v.getContext(), "ITEM PRESSED = " + String.valueOf(getAdapterPosition()), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(v.getContext(), "ROW PRESSED = " + String.valueOf(getAdapterPosition()), Toast.LENGTH_SHORT).show();
}
}


//onLongClickListener for view
@Override
public boolean onLongClick(View v) {
final AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
builder.setTitle("Hello Dialog")
.setMessage("LONG CLICK DIALOG WINDOW FOR ICON " + String.valueOf(getAdapterPosition()))
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

}
});

builder.create().show();
return true;
}
}

要获取点击的项目,您需要匹配 View ID,即 v.getId() == yourViewItem.getId()

关于java - onclicklistener onclicklistener on the specific item of the recyclerview in android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36759744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com