Android 学习笔记-知识点(三)

  • 以下的一些是知识点是平时在开发的过程中遇到的一些知识点,总结起来,目的是提高自己的水平,由于本人开发时间不长,有些知识点可能过于的简单,但是好记性不如烂笔头,如果有错误的地方请指正,谢谢。

关于startActivityForResult的requestCode的位数的问题,项目中因为传值的需要,要用到requestCode,一次写了

private static final int request = 0XABCDEF;
结果报了一个错误
Can only use lower 16 bits for requestCode
意思是说request 的长度不能超过16位,在一次看源码的过程中看到了报这个错误的原因

以下为源码:

 static void checkForValidRequestCode(int requestCode) {
        if ((requestCode & 0xffff0000) != 0) {
            throw new IllegalArgumentException("Can only use lower 16 bits for requestCode");
        }
    }

这是系统给我们传进去的requestCode进行与运算,如果长度大于是16位,结果就不等于1所以就报了这个异常

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容