Android基础
jqorz
这个作者很懒,什么都没留下…
展开
-
Android同一界面使用多个自定义View,View数据恢复异常的解决方法
场景例如登录界面使用了两个自定义输入框,自定义输入框里有一个Edittext,当系统回收并重建Activity的时候(可以通过开发者模式打开不不保留后台活动进行模拟),可能会由于自定义View中的id相同,导致数据恢复异常,本来应该恢复到密码框的数据,显示在了用户名输入框。解决方法在自定义View中的Edittext获取到对象后,手动指定id即可,例如mEdt.setId(getParent...原创 2020-03-25 11:20:18 · 428 阅读 · 0 评论 -
Ijk播放器无法播放带空格或者中文的网络视频的解决方法
项目中遇到一个问题,如果视频的播放地址带空格,ijk显示视频加载失败,看日志是ijk内部网络请求400,解决方法是把视频路径可能为中文或者空格的地方(一般都是名字),使用URLEncoder.encode(name,"utf-8")进行编码。ijk可以正常识别url编码的,测试通过。...原创 2020-02-12 23:54:43 · 759 阅读 · 3 评论 -
RecyclerView莫名自动滚动
列表莫名其妙滚动到了第二个,原因是焦点被抢走了。解决方法是在最外层的recyclerView布局文件中加上android:descendantFocusability="beforeDescendants"属性的值有三种:beforeDescendants:viewgroup会优先其子类控件而获取到焦点afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才...原创 2019-11-20 21:18:31 · 636 阅读 · 0 评论 -
AgentWeb中使用Jsbridge,js无法正常调用安卓方法的问题
仿照demo进行js调用时,在android9.0出现调用失败,原创 2019-11-20 19:29:53 · 2139 阅读 · 0 评论 -
Android横竖屏切换,A(竖)切B(横)返回后,A先横,再变竖屏,解决办法
在做需求时,发现部分设备(联想平板),从竖屏界面A跳转到横屏界面B再返回,竖屏界面A会先跳转横屏再返回竖屏。测试发现小米的设备不会有此问题(可能是rom做了兼容),然后发现增加一下代码可以解决此问题。在启动界面B的时候,获取一下当前的屏幕方向,通过Intent存在ActivityB里面。然后在界面B的onDestory时,重新设置一下屏幕方向。private int fromOrientat...原创 2019-10-29 16:41:33 · 2799 阅读 · 0 评论 -
解决Android Studio 的Logcat顶部过滤栏消失
这个问题困扰我好久,解决方法是,点击Android Studio右下角的Event Log标签栏再切换回Logcat,即可把Logcat栏消失的标签栏刷新出来。原创 2019-10-21 16:39:17 · 872 阅读 · 1 评论 -
3种方式获取Wifi名称 兼容获取Wifi名字为空 WifiInfo.getSSID为空的情况
最近遇到一个奇怪的bug,部分手机上获取wifi的名字,通过WifiManager.getConnectionInfo().getSSID()为"unknown ssid",调试查看SSID为"",这导致接下来的一系列逻辑都出现了问题。目前发现RROS(Remix)的ROM会出现这个问题。特此记录解决方法。首先实例化WifiManager和ConnectivityManager原创 2018-08-07 17:31:29 · 19240 阅读 · 3 评论 -
Spinner在代码中设置文字居中
如果ArrayAdapter使用了simple_spinner_item.xml布局 ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data) { @NonNull ...原创 2018-09-27 11:28:52 · 4193 阅读 · 1 评论 -
解决Android Studio多module项目索引错误,build.gradle文件变黄色
起因:由于公司的项目采用了公用module复用,导致很容易遇到索引错乱的问题。很可能用着用着,关上项目重新打开就会错误导致项目build失败。具体现象为:文件树里的项目路径全部错乱,指向了另一个项目。并且Android选项卡下面的build.gradle文件全部为黄色背景,显示的路径皆为另一个项目里的路径。之前版本的Android Studio采取Build->Clean Project...原创 2019-05-05 19:14:22 · 2837 阅读 · 1 评论 -
解决JZPlayer7.1.0版本点击重播后强制竖屏
项目中发现使用jzplayer的View播放视频,就算把View所在的Activity的屏幕方向设置为重力感应,视频结束后点击重播也会被改为竖屏并且重力感应设置失效。断点后发现,原因如下。点击重播的按钮,调用了JZVideoPlayer中OnClick方法中R.id.start的逻辑,走到了currentState == CURRENT_STATE_AUTO_COMPLETE中的startVi...原创 2019-05-14 09:15:48 · 1147 阅读 · 1 评论 -
AgentWeb设置缓存模式(WebSettings)
AgentWeb内部方法已经设置好了WebView的缓存模式,在AbsAgentWebSettings的settings方法中原创 2019-07-30 20:56:52 · 7224 阅读 · 1 评论 -
Android面试题合集126个校正版
资料由 ltzx012 整理,感谢 superjunjin 的无私的奉献: http://blog.csdn.net/superjunjin/article/category/1192401 由jqorz二次修正与编辑(针对少量内容作了修改并重新排版) http://blog.csdn.net/baidu_27419681 转载请注明Android面试题合集 【推荐】已排版的PDF版本在此原创 2017-09-01 16:13:12 · 339 阅读 · 0 评论 -
简单好用的Toast(避免Toast长时间显示)
有时我们在项目中会发现,由于按钮点击次数太多次,Toast长时间显示而不消失,那么该如何解决呢?原创 2017-03-29 23:21:35 · 3397 阅读 · 0 评论 -
RecyclerView精确恢复到上次的位置
在项目开发中,我们可能遇到这样的需求:跳转到另一个界面,但是需要记录RecyclerView在之前的位置,以方便跳转回来的时候界面不变化。比如ES文件浏览器。代码如下定义两个成员变量: private int lastPosition = 0; private int lastOffset = 0;记录位置,OnScrollListener,onScrollStateChanged原创 2017-03-29 23:14:42 · 6837 阅读 · 0 评论 -
修改AppCompat主题下弹出Dialog的按钮字体颜色
修改AppCompat主题下弹出Dialog的按钮字体颜色原创 2017-03-10 20:31:30 · 2432 阅读 · 0 评论 -
布局中Button始终在顶层无法被覆盖
最近写项目时遇到一个很奇怪的问题,在Relativelayout中Button始终在最顶层,无法被其他控件覆盖,然后试了下在Android 5.0以下的版本可以被正常覆盖,几经周折,终于找到了原因。产生原因:stateListAnimator属性 谷歌在Material Design中推出,是一个非常简单的方法用来实现在可视状态之间平滑过渡。这个属性可以通过android:stateLis原创 2017-07-28 15:05:49 · 6853 阅读 · 0 评论 -
自定义RecyclerView实现QQ侧滑删除按钮
通过自定义RecyclerView实现的效果为item左滑显示删除按钮,点击删除,暴露俩个接口用于调用。实测可用这里贴出了自定义的RecyclerView,布局文件及ViewHolder没有贴出来。转载 2017-08-25 17:38:22 · 916 阅读 · 0 评论 -
解决ViewPager中RecyclerView的高度设为wrap_content无效的问题
实际开发中遇到了ViewPager内嵌Fragment,Fragment使用的布局为一个单独的RecyclerView,发现RecyclerView的高度设置为wrap_content无法生效的问题,以为是RecyclerView的原因,故在stackoverflow中找了很多方法,但都无法使用。后来发现是因为ViewPager导致的。解决方法:Fragment中不要使用单独的RecyclerVie原创 2017-08-27 10:25:37 · 3396 阅读 · 0 评论 -
Android开发部分知识点
1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。2. 数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架 LiteOrm 库,超级清晰且重心可以放在业务上不用关心数据库细节。3. 全局变量放全局类中,模块私有放自己的管理类中,让常量清晰且集中.4. 不要相信庞大的管理类的东西会带原创 2017-08-28 23:57:44 · 254 阅读 · 0 评论 -
解决Android6.0以上ScrollView嵌套RecyclerView出现的RecyclerView高度不正常的问题
最近在开发中使用ScrollView嵌套RecyclerView RecyclerView设置 android:nestedScrollingEnabled="false" 属性后出现了一种问题,本来是5行的RecyclerView只能显示4行。 后经修改,在RecyclerView外部嵌套了一个RelativeLayout,问题解决。原创 2017-09-08 17:09:20 · 1529 阅读 · 0 评论 -
Activity的四种launchMode
转载自基础总结篇之二:Activity的四种launchModeActivity的四种launchMode。 launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多转载 2017-09-01 10:32:50 · 201 阅读 · 0 评论 -
在 XML 中使用特殊字符
大家知道,在xml中一些特殊字符比如引号,”>”是特殊字符,无法直接使用,那么定义String时恰好需要,应该怎么办呢?使用预定义的实体引用可以解决这个问题。原创 2017-03-29 23:31:03 · 681 阅读 · 0 评论