Android ListView默认选中第一项或第N项

本文介绍了两种在Android开发中实现ListView选中项的方法:一是通过重写Adapter并在getView方法中进行自定义操作;二是利用onWindowFocusChanged结合全局变量控制选中状态,附带示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大体上从查阅的资料和自己的实践一共可以分为以下几种方法:

一:重写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),你可以自定义选中任意项,个人认为这个方法非常好用。


------初学安卓,不足之处望以指正。   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值