2

问题:

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

@Override
public void onClick(View v) {
    int position = mListView.getPositionForView(v);
    mListView.performItemClick(v, position, mAdapter.getItemId(position));
}

一切正常,除了单击不会触发ListView更新列表项的可绘制状态。TextView当您单击项目中不可单击的其他 s 时,它确实会触发。

谢谢!

4

1 回答 1

2

得到它的工作。

设置列表项视图clickable并将其背景设置为state-list可绘制对象,也设置addStatesFromChildrentrue. 这将确保在单击其任何子项时更改列表视图项的状态(假设子项是可单击的)。

但是,这会导致其ListView本身无法获得焦点,因此您需要通过添加View.OnClickListener到列表项本身而不是添加OnItemClickedListenerListView.

于 2012-04-21T21:04:38.950 回答