我的应用程序中有一个listView我想突出显示一个listitem而不触及它。我希望第一个项目始终突出显示。我该怎么做呢?
以下是我的listview的代码:
修改
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listmenu);
menuList = (ListView) findViewById(R.id.list1);
menuList.setAdapter(new ArrayAdapter<String>(this,R.id.list_content, heading));
menuList.setSelection(1);
View v = menuList.getSelectedView();
v.requestFocus();
}
答案 0 :(得分:0)
在Android 3.0之前,您必须执行此操作的唯一机制是让所选视图成为焦点。尝试类似:
menuList.setSelection(1);
View v = menuList.getSelectedView().requestFocus();
您也可以尝试requstFocusFromTouch()
。在Android 3.0及更高版本中,为此添加了已激活状态,因此如果您定位的是较新版本,则可以在相应的视图中调用setActivated()
。
答案 1 :(得分:0)
你可以尝试
ArrayAdapter<String> adapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listmenu);
menuList = (ListView) findViewById(R.id.list1);
adapter = new ArrayAdapter<String>(this,R.id.list_content, heading);
menuList.setAdapter(adapter);
menuList.setSelection(1);
adapter.getView(0, null, menuList).setFocused(true);
}
答案 2 :(得分:0)
到目前为止最简单的方法:
getListView().setItemChecked(0, true);
下一个问题是什么?!