安卓的动态控制布局练习在手机上出现闪退

 在Android studio上写动态控制布局的过程中,我为了一个问题一直纠结了四五个小时。

安卓的动态控制布局练习在手机上出现闪退_第1张图片安卓的动态控制布局练习在手机上出现闪退_第2张图片

这是在activity_main文件中不要listener,手机上就没出现水平分布,但是能运行程序。但加入listener就无法运行程序了


写完程序后,编译成功。于是我就导出apk,到手机上进行测试。然而我一安装完,就发现闪退出来,这时我就一脸的懵逼。

开始回头检查代码文件,发现layout文件预览并没有错误,除了出现几个警告意外,一切正常。

再回头看main_activity文件,跟书上代码对照了一下,也发现没有错误,这个时候我就开始在网上查找apk在手机上闪退的原因,大致的浏览一下,基本上是各说纷纭。

最让我感觉靠谱的是可能是android手机更新到6.0的版本,需要访问手机权限,如果manifest没有去有意识的声明权限,将可能导致手机上程序闪退。

安卓的动态控制布局练习在手机上出现闪退_第3张图片

而我的手机Android版本是6.0,也符合他所说的要求,于是我就按着他所说的改targetSdkVersion和CompileSdkVersion为22。.然而重新编译的过程中,又出现了新的问题:

安卓的动态控制布局练习在手机上出现闪退_第4张图片

接着在网上搜解决方案,发现解决方案要么是不够全面,要么是过于复杂,而且为什么在23版本上进行修改呢?

于是我又改targetSdkVersion和CompileSdkVersion为25,在这个基础上按着教程声明权限,教程网址:http://www.open-open.com/lib/view/open1451369220339.html

可是我在搜索如何声明权限的过程中,开始思考我所写的acitvity_main文件里哪个地方用到了权限,再仔细一想,发现就写了listener而已。

而我把网上所说的权限声明写上去后,结果发现该闪退的还是闪退。

彻底郁闷了之后,我开始搜索网上关于动态控制布局的源代码,再复制到我的acitvity_main文件里,出乎人意料的可以在手机上顺利实现(别人都验证过了!呵呵!!)再回到

自己的acitvity_main文件里,就发现原来少一行代码。


安卓的动态控制布局练习在手机上出现闪退_第5张图片安卓的动态控制布局练习在手机上出现闪退_第6张图片

这是正常运行的截图。

事实证明,在出现问题后,还是首先仔细检查一下自己所写的代码吧!

你可能感兴趣的:(安卓)