对于安卓开发入门级程序猿而言,由于不熟悉代码、工具等等,掉进一些坑中是难免的,今天小编在网上看到一位大神总结的Android开发中比较常见的坑及其原因和解决办法,赶脚还不错,分享出来,给大家提个醒。
1、Activity调用 startActivityForResult 会立马返回,不能正常调用,这是为什么捏?
原因:
因为Activity LauncherMode 为 singleTask singleInstance ,这种情况下Android不允许这么做;
解决方法:
修改activity的launchMode,或者应用一个空白的activity来做个跳转桥梁。
2、在PopupWindow中的EditText不能获取焦点,显示键盘
原因:
因为Popupwindow 默认没有获取到焦点,需要手动设置焦点,这样子view才能获取到事件的监听。
解决办法:
在创建完popwindow后设置它的焦点, popupWindow.setFocusable(true); 就可以了。
3、Popupwindow默认在区域外点击不消失
原因:
据说这是个PopupWindow的Bug,但也不确定是不是Popupwindow故意这样设计的,对于点击不想消失的提供了一个方法。
解决办法:
要对PopupWindow 设置一个背景图 popWindow.setBackgroundDrawable(new BitmapDrawable()); 要创建一个空对象,设置为null是不行的,或者就创建一个全透明的背景图。
4、android studio创建的项目,在源码下编译出来,使用 packageManager.getPackageInfo 获取versionCode错误
原因:
因为,AS创建的项目默认在Manifests中是没有versionCode和versionName的,而是写在了moudle的build.gradle中,所以导致在源码下编译是找不到AndroidManifest中的versionName以及versionCode的。
解决办法:
手动在AndroidManifest中添加versionCode 以及versionName 字段并且与build.gradle中保持一致,避免其他问题。
以上就是安卓开发中比较常踩的4个坑,大家在遇到类似问题,可以参考上述原因和解决办法,最后希望本文的分享可以对大家有所帮助。如果大家在开发中也有一些常遇到的问题,也欢迎补充分享。
相关文章:《11大精选Android自学网站》