【发布时间】:2016-01-12 22:26:55
【问题描述】:
我有一个使用 RecyclerView 和 OnClickListener 来处理项目点击的列表。
我使用了相同的解决方案: Why doesn't RecyclerView have onItemClickListener()? And how RecyclerView is different from Listview?
public static class ViewHolder extends RecyclerView.ViewHolder implements OnClickListener {
public TextView txtViewTitle;
public ImageView imgViewIcon;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
itemLayoutView.setOnClickListener(this);
txtViewTitle = (TextView) itemLayoutView.findViewById(R.id.item_title);
imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.item_icon);
}
@Override
public void onClick(View v) {
// start a new fragment
}
}
问题是,如果我快速选择两个项目,它将执行两次 onClick(),在这种情况下,会启动两个新片段。
我做错了吗?避免这种情况的最佳方法是什么?一个简单的布尔标志是否足以应对所有情况?
更新: 这是一个“包选择屏幕”,您将在其中选择要玩的包。然后它将显示一个新片段,其中包含所选包中的所有谜题。
谢谢!
【问题讨论】:
-
这对我来说似乎是正确的行为......您希望显示两者的哪个片段
-
不管哪个(可能是第一个),我只是不想打开两个片段
标签: android onclicklistener android-recyclerview