@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
try {
Timeline timeline = dataSnapshot.getValue(Timeline.class);
timelineArrayList.add(timeline);
adapter= new TimelineAdapter(timelineArrayList);
timelineRecyclerView.setLayoutManager(layoutManager);
timelineRecyclerView.setAdapter(adapter);
adapter.notify();
} catch (Exception ex) {
System.out.print(ex.toString());
}
timelineRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getContext(), new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Intent intent = new Intent(getContext(), ImageViewer.class);
intent.putExtra("img", timelineArrayList.get(position).getPhoto());
startActivity(intent);
}
}));
addOnItemTouchListener多次启动活动我该怎么办。我累了添加标志,完成点击后的活动。
答案 0 :(得分:1)
没有任何帮助,所以我决定使用列表视图和listview.onItemClickListner()
它为我工作。谢谢大家
https://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener#summary
答案 1 :(得分:0)
使用OnClickListener代替addOnItemTouchListener
RecyclerView.OnItemTouchListener用于在列表滚动时要检测对某项的触摸,而不是常规或直接触摸
答案 2 :(得分:0)
OnItemTouchListener的功能与普通的OnItemClickListener略有不同。使用OnItemTouchListener,可以允许应用程序拦截View层次结构中的触摸事件。这基本上意味着您可以实现各种形式的手势操作,例如直接滑动到RecyclerView的视图中。
什么时候应该使用它?
当您使用OnItemClickListener时, 需要确定当用户单击您的视图中的视图时会发生什么 RecyclerView。这可能是删除某些内容或开始新的操作 活动。 OnItemTouchListener通常用于创建手势 与RecyclerView中的某些视图进行交互。
答案 3 :(得分:0)
尝试使用界面模式从ViewHolder向UI(Activity / Fragment)提供onClickListener,然后开始活动
答案 4 :(得分:0)
请将OnclickListener添加到视图持有人的视图中
以下是示例
public class CustomViewHolder extends RecyclerView.ViewHolder{
Button add;
public CustomViewHolder(View itemView) {
super(itemView);
add = itemView.findViewById(R.id.add);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
}
答案 5 :(得分:0)
为什么不使用Onclick监听器