gpt4 book ai didi

java - 如何检查哪个RecyclerView被点击

转载 作者:行者123 更新时间:2023-12-02 09:51:10 24 4
gpt4 key购买 nike

我有一个包含两个 RecyclerViews 的 View 。它们具有不同的 ArrayList,但具有相同类型的适配器。在我的 Activity 的 OnClick 方法中,我想获取哪个 Recyclers 已被单击,然后选择该项目。

我尝试使用view instanceof RecylcerView,但这并没有成功。

最佳答案

您可以将onClickListener添加到relativeLayout的子布局中。

考虑到,第一个RecyclerView有一个LinearLayout,第二个RecyclerView内部有RelativeLayout(我的意思是,我认为LinearLayout是第一个RecyclerView中单个项目的父布局,RelativeLayout是第二个RecyclerView中单个项目的父布局RecyclerView)。

linLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getParentName(v);
}
});
relLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getParentName(v);
}
});
private void getParentName (View v){
View view = (View) v.getParent();
switch (view.getId()) {
case R.id.linLayout:
Toast.makeText(MainActivity.this, "First One", Toast.LENGTH_SHORT).show();
break;
case R.id.relLayout:
Toast.makeText(MainActivity.this, "Second One", Toast.LENGTH_SHORT).show();
break;
}
}

我们知道,如果是LinearLayout那么它的父级首先是RecyclerView。如果它是RelativeLayout,那么它的父级是第二个RecyclerView。

但是通过使用上述方法,我们可以使各个 subview 的根布局具有相同的布局(LinearLayout或RelativeLayout),并看到上述功能是否有效。

关于java - 如何检查哪个RecyclerView被点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56315628/

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