大体上从查阅的资料和自己的实践一共可以分为以下几种方法:
一:重写Adapter 在getView里进行自己的操作(选中,变色等等)
class MyAdapter extends BaseAdapter {
······
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//在这里做文章
return myGetView(position, convertView, parent);
}
······
}
但是问题也随之而来,如果你在getView里变色了,你就要在下次点击的时候把初始样式清除掉,所以我用了另一种办法解决。
二:利用onWindowFocusChanged和一个全局变量来控制
private boolean c_init_menufocus = false;
private ListView menu_list = null;
@Override
public void onWindowFocusChanged(boolean hasFocus) {
if (hasFocus && !c_init_menufocus ) {
menu_list .performItemClick(menu_list .getChildAt(0), 0, menu_list .getItemIdAtPosition(0));
c_init_menufocus = true;
}
}
结束:就这样通过一个全局变量开关和onWindowFocusChanged来做一个模拟的点击事件,代码中实现的是默认选中第一项(0),你可以自定义选中任意项,个人认为这个方法非常好用。
------初学安卓,不足之处望以指正。