Android 更新ListView项目';单击子对象时的可绘制状态

Android 更新ListView项目';单击子对象时的可绘制状态,android,listview,linkify,Android,Listview,Linkify,问题是: 我有一个列表视图项,布局相对复杂。列表项视图中的一个子项是带有链接的TextView。TextView可以处理在其中找到的链接上的点击(通过使用Linkify),并且有一个OnClickListener来处理文本中非链接部分的点击。侦听器只需获取视图在列表视图中的位置,然后执行单击: @Override public void onClick(View v) { int position = mListView.getPositionForView(v); mListV

问题是:

我有一个
列表视图
项,布局相对复杂。列表项视图中的一个子项是带有链接的
TextView
TextView
可以处理在其中找到的链接上的点击(通过使用
Linkify
),并且有一个
OnClickListener
来处理文本中非链接部分的点击。侦听器只需获取视图在
列表视图中的位置,然后执行单击:

@Override
public void onClick(View v) {
    int position = mListView.getPositionForView(v);
    mListView.performItemClick(v, position, mAdapter.getItemId(position));
}
一切正常,只是单击不会触发
ListView
以更新列表项的可绘制状态。当您单击项目中不可单击的其他
TextView
s时,它会触发该事件

谢谢

成功了

将列表项视图设置为“可点击”
,并将其背景设置为“可绘制”状态列表,还将“子项添加状态”设置为“真”。这将确保单击列表视图项的任何子项时列表视图项的状态发生更改(假定该子项可单击)


但是,这将导致
ListView
本身无法接收焦点,因此您需要通过将
视图添加到列表项本身来处理单击。OnClickListener
而不是将
OnItemClickedListener
添加到
ListView

是否尝试执行mListView.invalidateViews()?