Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何以编程方式突出显示listview的项?_Android_Android Listview_Android Arrayadapter - Fatal编程技术网

Android 如何以编程方式突出显示listview的项?

Android 如何以编程方式突出显示listview的项?,android,android-listview,android-arrayadapter,Android,Android Listview,Android Arrayadapter,我有一个listview,需要以编程方式突出显示一个项 我试过这个: CalendarList = (ListView) findViewById(R.id.CalendarList); CalendarList.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, MyApplication.roundMatches(CalendarPicker.getValue()))); CalendarList.setS

我有一个listview,需要以编程方式突出显示一个项

我试过这个:

CalendarList = (ListView) findViewById(R.id.CalendarList);
CalendarList.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, MyApplication.roundMatches(CalendarPicker.getValue())));

CalendarList.setSelection(2);
CalendarList=(ListView)findViewById(R.id.CalendarList);
CalendarList.setAdapter(新的ArrayAdapter(此,R.layout.list_项,MyApplication.roundMatches(CalendarPicker.getValue()));
日历清单.选举(2);

但是setSelection不起作用。

您想在单击时突出显示吗

然后重写onItemClickedListener()

在内部执行此操作:

position = position - listview.getFirstVisibleItem();
listview.getChildAt(position).requestFocus(); 

或者使用
您希望在单击时突出显示吗

然后重写onItemClickedListener()

在内部执行此操作:

position = position - listview.getFirstVisibleItem();
listview.getChildAt(position).requestFocus(); 
或者使用
尝试重写onScroll()方法:

当拥有列表视图的视图对象时,您可以随时更改所需内容,请注意,当失去焦点时,必须实现句柄代码

否则,我认为有另一个解决方案是通过适配器的实现更改项目的颜色。 关于,请尝试重写onScroll()方法:

当拥有列表视图的视图对象时,您可以随时更改所需内容,请注意,当失去焦点时,必须实现句柄代码

否则,我认为有另一个解决方案是通过适配器的实现更改项目的颜色。
关于,

要在触摸模式下突出显示项目,必须首先调用CalendarList.requestFocusFromTouch();然后是日历列表。设置选择(2)


在触摸模式下,setSelection()本身无法工作。

要在触摸模式下突出显示项目,必须首先调用CalendarList.requestFocusFromTouch();然后是日历列表。设置选择(2)


在触摸模式下,setSelection()本身不起作用。

最后,这些解决方案都不起作用,我用了不同的方法,更改了所选项目文本的颜色。

最后,这些解决方案都不起作用,我用了不同的方法,更改所选项目文本的颜色

抱歉,我不理解此答案,我不想使用滚动选择,我想通过编程选择,例如:CalendarList.setSelection(2);很抱歉,这样如何:adapteview.getChildAt(2).setSelected(true);对不起,我不明白这个答案,我不想用滚动键选择,我想用程序选择,例如:CalendarList.setSelection(2);很抱歉,这样如何:adapteview.getChildAt(2).setSelected(true);