Android 如何以编程方式突出显示listview的项?
我有一个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
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);