ListView项目以编程方式单击/点击

时间:2013-03-08 20:34:01

标签: android android-listview

我的ListView项目有自定义选择器。这就是它的样子:

<item android:drawable="@color/transparent" android:state_activated="false"/>
<item android:drawable="@color/blue" android:state_activated="true"/>

当我点击某个项目时,它的背景变为蓝色。我想通过代码进行“点击”,但即使我已经知道孩子在ListView中的位置,我也不知道要调用什么方法。


实际上,我真正想要的是在不触发onListItemClick()的情况下更改行的背景(类似于点击时)。

3 个答案:

答案 0 :(得分:2)

  

我想通过代码

进行“点击”

获取您想要的行(它必须在屏幕上)并调用performClick()或者您可以使用setActivated(true)(我从未尝试过这种方法。)

答案 1 :(得分:0)

如果您尝试模拟触摸事件怎么办?也许不是最干净的答案,但是......

获取所需的行视图,然后调用

rowView.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0));

答案 2 :(得分:0)

更改您的选择器以在android:state_selected="true"上切换,然后使用listView.setSelection(index);