listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Log.d("test1","run");
}
});
如果我这样设置,那么listview就不是火了:
<TextView
android:id="@+id/comment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/username"
android:layout_below="@+id/username"
android:autoLink="web"
android:textIsSelectable="true"
android:textColor="#000000"
android:textSize="14dp" />
删除textIsSelectable后,会触发onitemclicklistener。
我已经学习了一段时间,我在互联网上提出了一些建议
e.g。
将android:descendantFocusability="blocksDescendants"
放入父视图
这次触发clicklistener,但是当选择显示错误的文本时:
TextView does not support text selection. Selection cancelled.
两种功能都可以存在吗?非常感谢
答案 0 :(得分:1)
您可以手动将OnClickListener
添加到列表适配器中的父级。别忘了删除android:descendantFocusability="blocksDescendants"
。我刚尝试过。
viewHolder.parent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "Click", Toast.LENGTH_SHORT).show();
}
});
答案 1 :(得分:1)
使用以下代码,删除
android:textIsSelectable="true"
它可以解决您的问题。
viewHolder.textView.setOnClickListener
(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "Click", Toast.LENGTH_SHORT).show();
}
});