精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品开源,禁止转载和任何形式的非法内容使用,违者必究
客户说点一个编辑框导致崩溃,我看了下编辑框的布局事件没问题啊,TextWatcher的beforeTextChanged和onTextChanged里面都没代码,怎么会崩溃呢?用虚拟机试着也没问题,但是用手机确实不行,这奇怪问题,定性也不好定性。
在华为手机安卓系统下,认真看APP的运行,突然发现编辑框的线很短,手点的时候会不会误触旁边的按钮,然后就手机上试了下,确实会让这个Activity界面退出,再在虚拟机上看这个按钮,也会Activity界面退出。
下面就追查这个按钮的事件,里面代码如下:
Intent intent = new Intent(AudioRecorderActivity.this, RecordSetActivity.class);
intent.putExtra("fontsize", sfontsize);
startActivityForResult(intent, 1);
对照上个界面的启动代码,也是类似啊,Intent构造参数1是旧环境,参数2是新Activity类,上个界面的启动能过啊,为什么这个不行?
网上搜索了下,看了些Intent的其它用法,不过和我这问题也不挂边,一时无奈中。
回家吃过饭,突然想到我上个总结Activity闪退文档里的一部分内容里说到,Activity要在AndroidManifest.xml里注册,觉得这个可能有关系,就添加了注册行:
<activity android:name=".RecordSetActivity"></activity>
再试问题解决。
这次问题一波三折,问题表面是编辑框,其实是按钮,按钮启动不了Activity,也不是启动代码的问题,是没注册的问题。
这个问题的根源还在于项目架构的变动,因为我原来是2个项目,主项目和lib项目,把lib项目去掉全部加到主项目时,对代码细节没照顾到。