初始声音
这可能不是最好的主意,但这是我想要做的4秒GIF以及我遇到的问题。
https://i.imgur.com/Z3iAyNc.gifv(抱歉,不允许嵌入)。
我在每个项目中都有一个RecyclerView
,其中LinearLayout
包含类别详细信息,隐藏LinearLayout
包含另一个recyclerView
。这个想法是你看到类别,一旦你点击它,它会扩展以显示相关的帖子。再次点击该类别应打开类别详细信息页面,点击帖子应打开相关的帖子详细信息页面。
我有它工作,但正如你在gif中看到的那样,我必须至少敲击两次,即使我从未这样写过。对于LinearLayout的onClickListener
,它是相同的。就像父RecyclerView
劫持第一次点击一样。
这是我的代码
的示意图 adapter.setOnItemTouchListener(new RecyclerItemListener.RecyclerTouchListener() {
@Override
public void onClickItem(View v, int position) {
final LinearLayout postView = (LinearLayout) v.findViewById(R.id.profileCheckinDetailsView);
// The IF statement prevents reloading the view when it is already open.
if (postView.getVisibility()==View.GONE){
RelativeLayout itemView = (RelativeLayout) v.findViewById(R.id.ItemView);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
[... etc]
在其下方还有另一个setOnItemTouchListener
给孩子RecyclerView
。
我这样做是否正确,如果是这样,如何确保这两个项目同时注册?
提前致谢!