Android ListView项目以编程方式单击/点击
我有一个自定义的ListView项目选择器。这就是它看起来的样子:Android ListView项目以编程方式单击/点击,android,android-listview,Android,Android Listview,我有一个自定义的ListView项目选择器。这就是它看起来的样子: <item android:drawable="@color/transparent" android:state_activated="false"/> <item android:drawable="@color/blue" android:state_activated="true"/> 当我点击一个项目时,它的背景变成蓝色。我想通过代码来“点击”,但即使我已经知道孩子在ListView中的位
<item android:drawable="@color/transparent" android:state_activated="false"/>
<item android:drawable="@color/blue" android:state_activated="true"/>
当我点击一个项目时,它的背景变成蓝色。我想通过代码来“点击”,但即使我已经知道孩子在ListView中的位置,我也不知道该调用什么方法
实际上,我真正想要的是改变一行的背景(类似于点击时),而不触发onListItemClick() 我想通过代码进行“点击”
获取您想要的行(它必须在屏幕上)并调用,或者您可以使用(我从未尝试过此方法)。如果您尝试模拟触摸事件会怎么样?也许不是最清楚的答案,但是 获取所需行的视图,然后调用
rowView.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0));
将选择器更改为打开android:state_selected=“true”,然后使用
listView.setSelection(index)
但是performclick()不将行位置作为参数。我尝试了performItemClick(),但我只调用了我的onListItemClickListener,而没有更改背景。我也尝试过setActivated(true),但仍然没有效果代码>如何将选择器更改为切换?