【Android解决方案】GridView第一次选中不调用onItemSelected()的解决办法

这篇博客讲述了在Android开发中遇到GridView第一次选中不触发onItemSelected()方法的问题。作者通过分析源码、使用反射技术,发现是由于方法未被调用导致。通过反射调用该方法,成功解决了首次选中不触发监听器的问题。
摘要由CSDN通过智能技术生成

起因

之前写过《Android使用反射机制设置ListView的默认焦点》,用反射来更改记录默认选中的那个变量,解决了一部分问题,可是并不能很好地解决所有的问题。

比如说GridView,给它设置了监听器OnItemSelectedListener,可是设置完后第一次并没有调用方法onItemSelected()。(奇怪的是ListView可以)

我最近发现一个学习途径,可以很快举个例子说明,我们点击New -> Other -> Android (Android Sample Project),然后选择最新的版本,选择SupportDemos,里面集成了该版本的所有Demo,是新手学习必备利器!

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

可以先运行看看效果!~里面都是一些Api的基本用法。

我在com.example.android.apis.view包下找到了Grid1,它是一个最简单的显示GridView的Demo,代码如下

//Grid1.java

public class Grid1 extends Activity {
   

    GridView mGrid;

    @Override
    protected void onCreate(Bundle saveInstanceState) {
        super.onCreate(Bundle saveInstanceState);

        loadApps(); //do this in resume?

        setContentView(R.layout.grid_1);
        mGrid = (GridView) findViewById(R.id.myGrid);
        mGrid.setAdapter(new AppsAdapter());
    }

    //其他略
}

不得不说像发现宝藏一样发现这个学习途径,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值