【发布时间】:2019-12-01 23:35:01
【问题描述】:
我的 RecyclerView 项目中有一个 TextView,我使用 Adapter 中的以下代码使 TextView 中的链接可点击:
public void bindNote(Note note) {
str = note.getNoteText();
strHTML = str.replaceAll("\n","<br>");
noteTextView.setText(Html.fromHtml(strHTML));
noteTextView.setMovementMethod(LinkMovementMethod.getInstance());
}
问题是在这样做之后,现在单击该项目无法正常工作,并且如果我在 TextView 外部单击,它只会单击该项目。如果我单击文本,则不会发生任何事情。
问题是因为我使链接可点击的方式吗?或者我没有正确处理点击?
这是 ViewHolder 的一部分:
public class NoteViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener,
View.OnLongClickListener, PopupMenu.OnMenuItemClickListener {
TextView noteTextView;
TextView dateTextView;
public NoteViewHolder(@NonNull View itemView) {
super(itemView);
noteTextView = itemView.findViewById(R.id.tv_itemNoteTele_noteText);
dateTextView = itemView.findViewById(R.id.tv_itemNoteTele_date);
itemView.setOnLongClickListener(this);
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
onClickListener.itemClick(v, getAdapterPosition());
}
}
public interface AdapterClickListener {
void itemClick(View itemView, int position);
}
【问题讨论】:
-
noteTextView ,dateTextView 需要点击的,设置一个clicklistener即可
-
@ManojPerumarath 如您所见,我确实为 itemView 设置了点击监听器。即使我单击文本,我也希望它单击该项目。但如果 TextView 中有链接,则应单击该链接。
标签: android android-recyclerview textview