zoukankan      html  css  js  c++  java
  • Android中常见的坑有哪些?

     

    对于安卓开发入门级程序猿而言,由于不熟悉代码、工具等等,掉进一些坑中是难免的,今天小编在网上看到一位大神总结的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自学网站

  • 相关阅读:
    核函数矩阵为什么要是positive semidefinite的
    Autoencoders
    Statistics与Machine Learning有什么区别
    [zz]Using SyncTeX with LaTeX
    Metric Learning的一个疑惑
    [zz]Latex中texworks编辑器正向反向跳转搜索
    [zz]Python3.x新特性
    LyX 2.0.5中文排版
    function
    多行文字结尾显示省略号
  • 原文地址:https://www.cnblogs.com/gaobig/p/5091709.html
Copyright © 2011-2022 走看看