Android

A 36-post collection


RSS feed of posts tagged Android

AndroidStudio 升级Gradle5.0 Databinding报错

前天AS出了新版本3.4,故升级。与之匹配升级的还有Gradle Plugin 3.4,Gradle5.1.1。升级后,build程序的时候,就报错了 DataBinderMapperImpl.java:54: error: cannot find symbole: [kapt] An exception occurred: android.databinding.tool.util.LoggedErrorException: Found »

RecyclerView 点击事件处理

RecyclerView不像ListView那样,提供了setOnItemClickListener,所以一般情况需要我们自己定义一个接口实现这个功能。我一般会通过Adapter去暴露出来一个接口,便于上层获取位置和点击事件。 首先在Adapter中新建一个接口 public static interface OnItemClickListener { void onItemClicked(View v, int postion); } 创建一个对应的实例,并且提供set/get方法 private OnItemClickListener onItemClickListener; public OnItemClickListener getOnItemClickListener() { return onItemClickListener; } public void setOnItemClickListener( »

GoogleCast集成简介

最近由于需要维护这一方面的东西,随即看了一下网络文档。发现中文圈还比较少。这篇就作为我的记录。详细的信息建议在在Google Cast官方文档里面查看,非常的全。Google Cast之前叫做Google Chromecast,可以把它理解成为一个SDK。硬件可以实现这样的SDK,例如国外的一些盒子,FireTV,PCCW的盒子以及谷歌自己的Chromecast硬件设备。**它的作用就是能将手机,Pad,浏览器的内容投射到连接有Chromecast设备的屏幕上。**挺方便的,在家看个YouTube或者在工作场所需要投屏展示内容的时候,都非常的便利。 Google Cast 分为两端:sender和receiver。就拿U2B举例子,在Android手机安装的软件叫做sender,在盒子里相应接收响应请求的叫做receiver。一般来Google自家的程序会有一个默认的由谷歌开发的receiver,当然还可以通过API自定义一个可以处理定制化的sender消息的receiver, »

Android show/hide softKeyboard

最近项目中需要有一个地方隐藏键盘和显示键盘。其实是一个比较简单的问题,但是由于我们项目架构的原因。一个Activity中内嵌了很多个Fragment,通过事件去驱动不同的Fragment展现出来。举个例子,注册流程实际上是一个Activity,然后其中包含了ResetPasswordFragment,forgetPasswordFramgent,loginFragment等等。如果用户在Login界面的EditView输入账号密码的时候,通过back键恢复到了上一个Activity的时候,键盘是无法隐藏掉的。 为了解决这个问题,我的第一次解决的方案是这样。通过在VM层中添加一个变量hideSoftKeyboard,然后给XML设定一个自定义的BindingAdapter,传入这个变量。 @BindingAdapter("showSoftKeyboard") public static void showSoftKeyboard(View view, Boolean showSoftKeyboard) »

RxJava ignoreElement改造成Completable

这两天被一个RxJava的操作符给坑了,就是ignoreElement()。我们在Post一个请求的时候,例如上传用户信息到API当中。 public Observable<Void> delete(String profileId) { return accountApi.deleteProfileById(profileId, null) .ignoreElements(); } 如果这样写的话,会导致上在调用这个delete接口的时候,无法执行**onNext()**里面的逻辑,为什么会这个样子,具体文档里面给的图 很简单明了就可以知道。可以看看ignoreElements这个Operator怎么实现的: public static < »