Android AndroidStudio 升级Gradle5.0 Databinding报错 前天AS出了新版本3.4,故升级。与之匹配升级的还有Gradle Plugin 3.4,Gradle5.1.1。升级后,build程序的时候,
Android RecyclerView 点击事件处理 RecyclerView不像ListView那样,提供了setOnItemClickListener ,所以一般情况需要我们自己定义一个接口实现这个功能。我一般会通过Adapter去暴露出来一个接口,便于上层获取位置和点击事件。 * 首先在Adapter中新建一个接口 public static interface OnItemClickListener { void onItemClicked(
Android GoogleCast集成简介 最近由于需要维护这一方面的东西,随即看了一下网络文档。发现中文圈还比较少。这篇就作为我的记录。详细的信息建议在在Google Cast官方文档 [https://developers.google.com/cast/docs/
Android Android show/hide softKeyboard 最近项目中需要有一个地方隐藏键盘和显示键盘。其实是一个比较简单的问题,但是由于我们项目架构的原因。一个Activity中内嵌了很多个Fragment,通过事件去驱动不同的Fragment展现出来。举个例子,注册流程实际上是一个Activity,然后其中包含了ResetPasswordFragment,forgetPasswordFramgent,loginFragment等等。如果用户在Login界面的EditView输入账号密码的时候,通过back键恢复到了上一个Activity的时候,
Android RxJava ignoreElement改造成Completable 这两天被一个RxJava的操作符给坑了,就是ignoreElement()。我们在Post一个请求的时候,例如上传用户信息到API当中。 public Observable delete(String profileId) { return accountApi.
Android EidtText点击事件第一次不生效 这两天在开发一个功能的时候,发现项目的UX要求EditText点击出来一个AlterDialog。在一顿setOnClickListener操作之后,我发现了一个小问题。在点击的时候,需要点第二次才会show出来这个Dialog。原因是 EditText这个控件需要在第一次点击的时候获取焦点,第二次点击才触发OnClick事件 。非常合理,因为EditText的作用是为了输入文字,所以需要先获取焦点。
Android DialogFragment can not perform this action after onSaveInstanceState 最近在Fibric上面监控到了这样的一个Bug,可以看到是调用**DialogFragment.show()**报的异常。 Caused by java.lang.IllegalStateException Can not
Android Fragment二次进入刷新 对于Activity来说我们想要去做用户Back后的逻辑很容易,直接从生命周期的**onRestart()**中做处理就好,例如用户从ActB返回到AtcA中,我们想要把统计分析数据上传一份到第三方统计平台中。但是对于Fragment来说,它的生命周期其实是依附于外层的Activity的,这样对于上面这个简单的需求就需要换一个思路处理。 假设我们现在有1个Activity和2个Fragment,当用户从ActivityA->FragmentA->
Android Android全屏幕隐藏NavigationBar 有时候针对一个视频播放页面,需要将NavigationBar隐藏掉,这样有更加好的用户体验。我最近在做ExoPlayer 相关的一个视频播放的需求,发现默认情况下,这个Player是没有隐藏掉NavigationBar的,这就导致了在点击屏幕暂停播放的时候,会拉伸缩放视频比例,上下留有黑边。等到NavigationBar被隐藏的时候,视频又会重新填充进整个屏幕。
Android 截取部分Url链接 早上做一个Feature的时候,需要这样的一个操作,将给定的一个URL字符串,转换成Application中的Path路径,方便Router做跳转。最开始我是打算通过正则来去写的,最后想一想普通的String转换就能做到。 假设输入路径为 * https://www.google.com/
Android Android Handler使用 在Android开发的过程中,经常会有这样的场景:从网络获取数据然后更改某个控件的属性 。例如,从网络API获取Json,解析某个字段的值,将它设定到对应的TextView中。在很多人刚开始入门Android的时候,可能会将网络请求解析和 设定TextView放在一起处理。当然这样是不行的。为什么呢?
Android 智能电视Root并删除预装 自从不怎么玩Xbox了之后,一直都没有怎么用过电视,基本上大的需求就是把NAS里面的电影有的时候在电视上面放着看看。每次开机都被我家这个海信智能电视的广告恶心到了。说好的智能也就是在Android系统 开机之前放一个15~30s不等的广告。 想一想,既然都是Android系统了,那么就很简单了,Root后我找到对应的预装软件删除了就好了。 环境信息