【android】开发中遇到的一些问题
1:华为输入法,输入框为ACTION_DONE模式,ActionId是 UNSPECIFIED
EditText对象.setImeOptions(EditorInfo.IME_ACTION_DONE)
回车键返回的ActionId是 IME_ACTION_UNSPECIFIED;(正常为IME_ACTION_DONE)
2:红米手机调用系统拍照,导致页面重建,丢失数据
在调用拍照之前,保存当前页面的数据。咱是保存到SharedPreference里面,然后在onRestoreInstanceState函数里重新取值、赋值
3:视图的setBackgroundDrawable(对象)资源不能复用
比如列表中我们文字的背景颜色都是一样的, 这时候,我们希望能用Drawable把这个背景缓存起来,然后挨个TextView去赋值,
实际上,只有最后一个赋值成功。解决之道是直接使用seBackGroundResource

4:Activity的startActivityForResult;在Fragment的OnActivityResult不能捕获
因为Activity的startActivityForResult对requestCode左移了16位,因此Activity的OnActivityResult里对requestCode右移了16位进行补偿
Fragment的OnActivityResult自然判断不了被Activity位移后的requestCode,解决之道是fragment使用自己的startActivityForResult

5:android 6.0 老的http请求模块无法找到。
android 6.0的sdk里面删除了apche的请求模块,比如 org.apache.http.Header 就找不到了。
解决之道是在gradle里根节点加入
android {
useLibrary 'org.apache.http.legacy'
}
实测加入上面一句,重新Sync就行了
如果你还是不行的话,参考知乎上详细的解决步骤:https://www.zhihu.com/question/35597452
6:android 6.0 静态内部类访问失败
静态内部类在5.x以及以下的版本都正常,但是在6.1上报错,没有访问权限
解决之道是把静态内部类声明为public。
7:Html.fromHtml 尖括号<丢失
输入
<font color='#ec1e1e'><</font> ,
输出, (尖括号消失了)
解决之道是在使用前,对尖括号转义掉
public static String transBrackets(String str) {
if (TextUtils.isEmpty(str))
return "";
return str.replace("<", "<");
}
8:android studio 2.0打出来的debug包,在5.0以下的机型上打开报错。
错误提示:
Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication
原因:
android studio 2.0默认使用的是com.android.tools.build:gradle:2.0.0
这个版本使用了5.0的特性来支持instant run。
解决之道是使用release模式。
【android】开发中遇到的一些问题的更多相关文章
- Android学习探索之Java 8 在Android 开发中的应用
前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上, ...
- android开发中fragment获取context
在用到fragment时无法使用.this来指定当前context内容,android开发中fragment获取context,可以使用getActivity().getApplicationCont ...
- java中的反射机制在Android开发中的用处
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反 ...
- Android开发中的输入合法性检验
Why ? 合法性检查对于程序的健壮性具有重要作用.在Android开发中,良好的合法性检查设计机制可以使程序更加清晰,产生bug更少,交互更加友好. What ? 合法性检查的目的在于确定边界.对于 ...
- 在android开发中使用multdex的方法-IT蓝豹为你整理
Android系统在安装应用时,往往需要优化Dex,而由于处理工具DexOpt对id数目的限制,导致其处理的数目不能超过65536个,因此在Android开发中,需要使用到MultiDex来解决这个问 ...
- 怎样实现了捕获应用中的日志在android开发中
怎样实现了捕获应用中的日志在android开发中,大家可研究一下. Process mLogcatProc = null; BufferedReader reader = null; try { mL ...
- Android开发中Eclispe相关问题及相应解决(持续更新)
1.Eclipse项目中的Android Private Libraries没有自动生成. 一般而言,在Android开发中,项目中引用到的jar包会放到项目目录中的libs中,引入库会放到Andro ...
- Android开发中的问题及相应解决(持续更新)
最近博客写的少了,以后还得经常更新才行. ------------------------------------------------------------ 1.特定业务需求下try cath ...
- 关于Android开发中的证书和密钥等问题
关于Android开发中的证书和密钥等问题 引言 除了Android发布应用签名时需要用到证书外,在进行google Map Api开发和Facebook SDK API开发等时都需要申请API Ke ...
- Android开发中Bundle用法包裹数据(转)
Android开发中Bundle用法包裹数据 Bundle的经典用法,包裹数据放入Intent中,目的在于传输数据. SDK 里是这样描述: A mapping from String values ...
随机推荐
- Spring中通过构造方法传参数
1.实体类 package com.xbq.bean;import java.util.Timer; /** * @ClassName: Student * @Description: TODO 学生 ...
- MySQL性能优化(一)-- 存储引擎和三范式
一.MySQL存储引擎 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存 ...
- Android 权限信息
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...
- c#图片生成png格式和原图不同
下面这种,会生成和原图类似的图片,png格式的图片该是空的地方仍旧是空的
- poj_3436 网络最大流
题目大意 生产电脑的工厂将一台电脑分成P个部件来进行流水线生产组装,有N个生产车间,每个车间可以将一个半成品电脑添加某些部件,使之成为另一个半成品电脑或者成为一台完好的电脑,且每个车间有一个效率,即在 ...
- java高级---->Thread之Exchanger的使用
Exchanger可以在两个线程之间交换数据,只能是2个线程,他不支持更多的线程之间互换数据.今天我们就通过实例来学习一下Exchanger的用法. Exchanger的简单实例 Exchanger是 ...
- vux 头像上传
参考: http://blog.csdn.net/generon/article/details/72478269
- 三进制状态压缩DP(旅行商问题TSP)HDU3001
http://acm.hdu.edu.cn/showproblem.php?pid=3001 Travelling Time Limit: 6000/3000 MS (Java/Others) ...
- HDU_5517_Triple
Triple Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- 14.Git忽略特殊文件.gitignore
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定 ...