gpt4 book ai didi

android - 双击 Recycler View 项目的 addOnItemTouchListener

转载 作者:行者123 更新时间:2023-11-30 00:33:45 25 4
gpt4 key购买 nike

在回收站 View 中,我有多个项目点击监听器,我对多个 fragment 使用了相同的适配器

recyclerView.addOnItemTouchListener(
new MyRecyclerItemClickListener(getActivity(), new MyRecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View views, final int position) {
//Values are passing to activity & to fragment as well
view = views;
share_txt = (TextView) view.findViewById(R.id.share_txt);
complaint_id_txt = (TextView) view.findViewById(R.id.complaint_id_txt);
comment_txt = (TextView) view.findViewById(R.id.comment_txt);
like_txt = (TextView) view.findViewById(R.id.like_count);
like_id_txt = (TextView) view.findViewById(R.id.like_id_txt);
like_img = (ImageView) view.findViewById(R.id.lik_img);
complaint_imgview = (ImageView) view.findViewById(R.id.complaint_img);

complaint_id = complaint_id_txt.getText().toString();
final String like_str = like_id_txt.getText().toString();


comment_txt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), Activity_Comment.class);
startActivity(intent);
}
});

complaint_imgview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

complaintAssign(position);

complaint_id = complaintList.get(position).getComplaintId();

Intent intent = new Intent(getActivity(), Activity_ComplaintDetail.class);
intent.putExtra("position", position);
startActivity(intent);
}
});

like_txt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

if (like_str.equalsIgnoreCase("Liked")) {

Toast.makeText(context, "You have already liked", Toast.LENGTH_SHORT).show();

} else if (like_str.equalsIgnoreCase("Like")) {
like_txt.setTextColor(ContextCompat.getColor(context, R.color.navy));
like_img.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.like));
lik = likeJson();
if (lik == 2323) {
like_txt.setTextColor(ContextCompat.getColor(context, R.color.black));
like_img.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.unlike));
} else {

}


}

}
});
like_img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

if (like_str.equalsIgnoreCase("Liked")) {

Toast.makeText(context, "You have already liked", Toast.LENGTH_SHORT).show();

} else if (like_str.equalsIgnoreCase("Like")) {
like_txt.setTextColor(ContextCompat.getColor(context, R.color.navy));
like_img.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.like));
lik = likeJson();
if (lik == 2323) {
like_txt.setTextColor(ContextCompat.getColor(context, R.color.black));
like_img.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.unlike));
} else {

}

}

}
});

}

public void onLongClick(View view, int position) {
Toast.makeText(getActivity(), "Select Category",
Toast.LENGTH_LONG).show();
}
})
);

它工作正常,但它只在第二次点击时工作,在第一次点击时它不会做任何操作。 recyclerView.setFocusable(false);和 recyclerView.setFocusableInTouchMode(false);但这对我不起作用任何人都可以帮助我

提前致谢。

最佳答案

您仅在单击 recyclerView 元素后才设置 complaint_img 的监听器,因此您必须单击两次才能执行任何操作。将 complaint_img.setOnClickListener() 移至您的 recyclerView 的适配器。

关于android - 双击 Recycler View 项目的 addOnItemTouchListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43774165/

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