首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android代码利用Spinner控件设置联动地区解决办法

R.array.linxia_province_item, R.array.xinjiang_province_item }; } 这里面只写一部分了  多个地级市,县城你自己加吧 接下来就是代码搞定了...Spinner进行初始化把,参数分别是Spinner对象,适配器,数据集,默认位置 因为设置联动时候都是根据上一个Spinner选择值 id来决定下一个Spinner值 接下来就先贴代码了  ...> arg0) { } }); } 这里面最重要就是select代码了  注意最后一个参数作用  position  他就是用来设置默认值 后面就简单了,分析从服务器返回数据,...市代码,你可能会认为,为什么上面不根据名称直接去获取市代码,那你想多了,你可以看看我根据array构造数组时候怎么调用id值 /** * 根据省 市代码 来获取 县代码 * @...,那位看客又更好方法没有,中国低级县区太多了,至少有2800个左右吧,我也想不出来怎么用代码更好找到每个县代码 到此基本就完成了认为,运行下就解决了问题 其中解析那里用是  当前类私有变量

2.1K20

不服来战,看Kotlin如何完爆Java

如果我今天被问到如何区别开发Android应用程序与其他领域开发时,我会毫不犹豫地回答,以原生方式不同硬件上执行相同应用程序可能会是其中原因之一;但…这怎么可能?...我想我还是通过解释Kotlin语言好处来开始我这篇文章吧。 在这一点上,没有人惊讶地看到相同web应用程序运行于任何设备,任何平台(Android、iOS、 Windows、MacOS…)。...正是由于这些原因,今天,Java被认为至少Android开发,并没有以行业速度发展。...Kotlin是由Jetbrains设计和开发一种语言,这种语言还在不断进化,最重要是,它可以JVM上执行。这使它成为Android应用完美候选者。...collection.map { item -> aTransformation(item) } Type nullability:Kotlin,由于有对optionals集成支持,我们代码应该有最小可能

1K50
您找到你想要的搜索结果了吗?
是的
没有找到

ViewBinding 与 Kotlin 委托双剑合璧

和 ButterKnife 需要在代码声明很多变量,其他几种方案代码简洁度较好; 2、编译检查: 编译期间主要有两个方面的检查:类型检查 + 只能访问当前布局 id。...只支持 Kotlin 语言; 5、收敛模板代码: 基本上每种方案都带有一定量模板代码,只有 Kotlin Synthetics 模板代码是较少。...ViewBinding 与 Kotlin 委托双剑合璧 到这里,ViewBinding 使用教程已经说完了。但是回过头看,有没有发现一些局限性呢?...那么,有没有可优化方案呢?我们想起了 Kotlin 属性委托,关于 Kotlin 委托机制我之前一篇文章里讨论过:Kotlin | 委托机制 & 原理[7]。...老版本 Java ,传递代码块需要使用匿名内部类实现,而使用 lambda 表达式甚至连函数声明都不需要,可以直接传递代码块作为函数值; 问题 6、Fragment::requireView 是什么

1.6K20

Kotlin干掉了findViewById,但用不好也会有性能问题

序 自从 Google 宣布 KotlinAndroid 一等公民身份后,大量 Android 开发开始接触和使用 Kotlin,也体会到 Kotlin 在编码过程便捷和高效。...Kotlin 干掉了 findViewById 2.1 如何使用? 想使用这个特性,还需要一些简单配置,不过 Android Studio ,我们支持 Kotlin 时候就已经自动配置完成。...apply plugin:'kotlin-android-extensions' 之后访问 Activity 或者 Fragment ,还需要对布局进行 import,通常我们首次使用该布局下...以前 Kotlin 写法还很混乱时候,我甚至看到过这样代码。...2.2 Activity 实现 我们知道,无论 Kotlin 干了什么,最好办法是直接查看 Bytecode 来分析其原理。

2.6K10

当大潮退去没有谁还能Android这行“裸泳”,10家大厂面试题,掌握这些让你轻松面试

对于程序员来说,赚钱最简单有效办法就是提升自己技术,学习永远是最廉价最有效地提升自己地方法。...9.kotlin ?原理 10.项目中有直接使用tcp,socket来发送消息吗 11.如何在网络框架里直接避免内存泄漏,不需要在presenter释放订阅 12.生命周期都是通过什么调用?...11.kotlin lazy使用,lazy viewmodel 12.有没有看一下Google官方ViewModel demo 13.ViewModelActivity初始化与Fragment初始化...8.动画连续调用原理是什么? 9.做过一些SDK操作吗? 10.协程可以Java项目中使用吗? 11.SharedPreference原理?读取xml是在哪个线程?...4.kotlin空安全原理是什么? 5.性能优化做过什么工作?有用过什么工具?有没有精确测量工具? 6.kotlinc与javac编译字节码有什么区别? 7.你团队是怎样一个角色?

97820

Android开发必备知识:为什么说Kotlin值得一试

1、Hello, Kotlin 1.1 Kotlin身世 写了许久 Java,有没有发现其实你写了太多冗余代码? 后来你体验了一下 Python,有没有觉得不写分号感觉真是超级爽?...需要说明是,这段代码是我从《Kotlin for Android Developer》示例摘出来。...通常我们 Java 中会自定义一些 LogUtils 类来打日志,或者直接用 android.util.log 来输出日志,不知道大家是什么感受,我反正每次因为要输入 Log.d 还要输入个 tag...嗯,这里需要简单介绍 Kotlin 泛型一个比较重要增强,这个 Java 无论如何也是做不到:inline、reified。...不过用 Kotlin Android 扩展插件,我们就可以这样: 先上布局文件: main.xml ? Activity : ?

1.1K90

Kotlin Vocabulary | 枚举和 R8 编译器

这方面的问题在 Kotlin 显得更加有趣,因为 Kotlin 最终会编译为 Java 字节码,但是它却提供了 Java 所没有的功能。那么 Kotlin 是怎么做到呢?这些功能有没有额外开销?...事实上,有三个编译器参与了 Android 应用 Kotlin 代码编译。 1. Kotlin 编译器 Kotlin 编译器将会首先运行,它会把您写代码转换为 Java 字节码。...无论 Java 还是 Kotlin ,枚举功能和消耗本质上都是一样。有趣地方在于引入了 R8 之后,我们能对其中一些开销做些什么。 枚举本身不包含任何隐藏开销。...假设您一个库包含了一个枚举,而您改变了这个枚举中值顺序,您就可能破坏了某个人应用。虽然这些代码除了顺序,看起来完全相同,但就是这种顺序不同导致了对其它代码影响。...本例,就会生成很多代码

98750

hello Kotlin

1.1 Kotlin身世 写了许久 Java,有没有发现其实你写了太多冗余代码? 后来你体验了一下 Python,有没有觉得不写分号感觉真是超级爽?...需要说明是,这段代码是我从《Kotlin for Android Developer》示例摘出来。...通常我们 Java 中会自定义一些 LogUtils 类来打日志,或者直接用 android.util.log 来输出日志,不知道大家是什么感受,我反正每次因为要输入 Log.d 还要输入个 tag...不过用 Kotlin Android 扩展插件,我们就可以这样: 先上布局文件: main.xml ? Activity : ?...Kotlin办法可以解决这个问题,那就是 DSL 了。下面给出一个例子: ? 一个 LinearLayou t包含了一个 Button,这段代码你可以直接写到你代码灵活复用,就像这样: ?

89650

Kotlin实战【一】Kotlin定义与目的

(2)Kotlin 还可以编译成 JavaScript,允许你浏览器运行 Kotlin 代码。...此类函数输入相同时会产生同样结果,并且不会修改其他对象状态,也不会和外面的世界交互。...比相应命令式风格代码更优雅、更简练,因为把函数当作值可以让你获得更强 大抽象能力,从而避免重复代码。...代码对他们调用也会得到更新 - 重构kotlin方法时候,java代码对他们调用也会得到更新 四、Kotlin编译过程 Kotlin代码存放在后缀名为.kt文件...HTML和持久化 安卓上也可以完美支持,为常见Android开发提供了Kotlin友好函数 他完全免费和开源,全面支持主流IDE和构建系统 Kotlin务实、安全、简洁、与java可互操作,支持紧凑和易读代码

91530

Kotlin入门(1)搭建Kotlin开发环境

如果Android Studio是从低版本升级到2.3,可能会出现编译问题,具体解决办法参见博文《Android Studio升级到2.3编译问题解决办法》。...然后会弹出插件库浏览窗口,该页面左上角搜索框输入Kotlin”,下方插件列表会定位到符合搜索条件插件位置,单击“Kotlin”(LANGUAGES)这行,窗口右侧就展示Kotlin插件详细信息...Kotlin代码。...代码转换完毕,原来MainActivity.java变成了MainActivity.kt,文件内容也变成了如下所示Kotlin代码: class MainActivity : AppCompatActivity...怎么样,这可是一个货真价实Kotlin开发App噢,都说万事开头难,搭建好Kotlin开发环境,只是万里长征第一步,在下一篇文章,我们将继续学习如何使用Kotlin进行Android开发。

1.2K20

Google挖坑后人埋-ViewBinding(上)

kotlin-android-extensions三宗罪 内存问题 通过反编译kotlin-android-extensions代码,你就会发现,通过kotlin-android-extensions...,它会在代码创建一个HashMap,用来存放所有的id和对应View缓存,如果缓存没有需要View,那么就通过findViewById去创建,否则就直接获取,这就是它原理。...其实没什么区别,这是为了Kotlin中将不可空类型置空一种妥协方式,同样代码逻辑,Java,就会非常简单了。...利用kotlin-android-extensions,我们可以借助LayoutContainer来ViewHolder中直接使用View id,那么ViewBinding,使用方式就更简单了。...目前还未找到现有项目从kotlin-android-extensions迁移到ViewBinding办法,如果当前项目大量使用kotlin-android-extensions,那么迁移起来,就是一个巨大工程

2.1K20

31 天,从浅到深轻松学习 Kotlin

它们每个都以不同方式降低了可见性。 Day 2:Elvis 操作符 需要处理代码空值?可以使用 elvis 操作符,避免 “空情况” (null-erplate)。...Day 13:从 Java 编程语言调用 Kotlin 同一个项目中使用 Kotlin 和 Java?您有没有顶级功能或属性课程?默认情况下,编译器将生成类名称 YourFileKt。...Day 17:Lateinit Android onCreate 或者其它回调初始化对象,但在 Kotlin 不为空对象必须初始化。那么怎么办呢?可以输入 lateinit。...Android KTX 具有一系列功能,可以使您代码使用图形包类时更加简洁。 Day 28:Sequences, lazy 和 generators 序列是从未存在列表。...Android KTX 允许您使用默认参数视图一侧设置填充。一行代码可以节省很多代码

2.2K30

记自己2018年三月份面试经历烦烦烦烦面试几家公司写在结尾

自我介绍,公司产品介绍,负责哪一块; 写博客意义,为什么开始写博客,还问了“简书程序员优秀作者”这个 title 怎么搞到,哈哈哈; Kotlin 和 Java 相比,有哪些优点,有没有实际项目中使用...Kotlin 特性,和 Java 相比有什么不同地方; MVP 架构 Presenter 定义为接口有什么好处; Jenkins持续集成; Android 插件化原理; Handler 、MessageQueue...相同和不同点, item 回收上有什么不同; View 事件分发机制; 说说 apk 打包流程; 有没有做过 apk 多渠道打包; Android 组件化原理,还有一些组件化平时使用问题; Binder...有没有了解过; HashMap 存储原理; Kotlin 特性,和 Java 相比有什么不同地方; Android Framework层有没有了解过,说说 Window 窗口添加过程; Window...没办法,继续干,又约在了工作日晚上面试。 项目介绍,负责内容等; HTTPS 原理; HTTP 2.0 有没有了解过; 讨论技术和业务哪个重要; Android 热修复原理; 剩下记不住了...

1.1K120

面试造火箭,看下这些大厂Android中高级岗面试原题

数组和链表区别 数组:是将元素在内存连续存储; 它优点:因为数据是连续存储,内存地址连续,所以查找数据时候效率比较高; 它缺点:存储之前,我们需要申请一块连续内存空间,并且在编译时候就必须确定好它空间大小...2).多线程相关匿名内部类和非静态内部类匿名内部类同样会持有外部类引用,如果在线程执行耗时操作就有可能发生内存泄漏,导致外部类无法被回收,直到耗时任务结束,解决办法页面退出时结束线程任务。...,导致handler无法被回收,如果handler是非静态,就会导致它外部类无法被回收,解决办法是1.使用静态handler,外部类引用使用弱引用处理2.退出页面时移除消息队列消息。...5).静态View导致泄漏使用静态View可以避免每次启动Activity都去读取并渲染View,但是静态View会持有Activity引用,导致无法回收,解决办法Activity销毁时候将静态...帮你现在基础上,重新梳理和建立 Android 开发知识体系。

59710

Kotlin 开发遇到坑(持续更新)

= -1){ //做一些操作 } 上面代码看上去很简单,定义了一个 User类型属性mUser,是可以为nullif条件通过判断年级是否等于-1 来做一下操作。...我们写这段代码时候想可能是:当mUser不为null,而且年级不是-1时候,通过条件判断,然后做一下操作。 但是kotlin,当mUser为null时,mUser?....对于 Null 检查是 Kotlin 特点之一。强制你在编码过程中考虑变量是否可为 null,因此可以避免很多在 Java 隐藏 NullPointerException。!!...下面给大家减少及个避免 !! 方法: 3.1、用 val 而不是 var Kotlin val 代表只读,var 代表可变。建议尽可能多使用 val。...3.2、使用 lateinit 有些情况我们不能使用 val,比如, Android 某些属性需要在 onCreate() 方法初始化。

4.3K02

100行代码搭建一个IO泄露监测框架

为了避免操作完读写流忘记close,java和kotlin两种编程语言分别给我们提供了以下语法糖:1....使用kotlinuse()扩展kotlin针对Closeable(实现了AutoCloseable)接口提供了下面的扩展:我们常见InputStream、OutputStream 、Scanner...Android P以下自然可以通过反射调用,但是Android P及以上使用反射就会报错,所以还得探索一种高版本能够成功反射系统非公开api方法。四....api;借助于系统类方法去调用系统非公开api,即双反射实现机制;这里我们不做过多讲解,详细内容可以参考weishu大佬文章:另一种绕过 Android P以上非公开API限制办法。...,本身Android官方是禁止使用这些非公开api,所以为了应用稳定性,建议大家只debug环境下使用上述逻辑。

11120

Better Kotlin

1 避免使用自带插件转换代码 想必 IDE 里面的插件 "Covert Java File To Kotlin File" 早已被大家熟知,要是不知道小伙伴,赶紧写个 Java 文件,尝试点击 Android...这是 Kotlin Android 开发很牛逼一大特性,想必不少小伙伴都被此 Android NullPointException 困扰许久。我们直接转换 Java 文件造成各种 !!...大家也要尽量避免这种情况。 3 应该好好注意一下伴生对象 伴生对象通过类中使用 companion object 来创建,用来替代静态成员,类似于 Java 静态内部类。...5 by lazy 和 lateinit 相爱相杀 Android 开发,我们经常会有不少成员变量需要在 onCreate() 对其进行初始化,特别是我们 XML 中使用各种控件,而 Kotlin...,保证该值只一个线程中计算,并且所有线程会得到相同值。

1.2K20

Kotlin 源码里成吨 noinline 和 crossinline 是干嘛?看完这个视频你转头也写了一吨

这个事实可能不太符合我们直觉,但你这样想一下:我们看到各种性能优化规范里,你有没有见过类似「少写几个方法来减少调用栈」这样优化策略?没有吧?为什么?因为这种优化没有意义。...因为 Java 并没有对函数类型变量原生支持,Kotlin 需要想办法来让这种自己新引入概念在 JVM 中落地。而它想办法是什么呢?...也就是说,我对代码做了刚才那种修改之后,程序每次调用 hello() 时候都会创建一个对象来执行 Lambda 表达式里代码,虽然这个对象是用一下之后马上就被抛弃,但它确实被创建了。...因为这种优化会导致函数函数类型参数无法被当做对象使用,也就是说,这种优化会对 Kotlin 功能做出一定程度收窄。而当你需要这个功能时候,就要手动关闭优化了。...那岂不是我每次写这种代码都得钻到原函数里去看看有没有 inline 关键字,才能知道我代码会怎么执行?那这也太难了吧!

1.2K10
领券