kotlin中EditText赋值Type mismatch方式

在kotlin中可以不用使用findViewById来初始化控件,但是在给EditText赋值时使用editText.text = "value"时会提示Type mismatch,这是因为EditText在推断types时出现问题。

为了避免types不匹配,使用Editable类的Factory内部类,来解决这个问题。

etStartTime.text = Editable.Factory.getInstance().newEditable("test")

补充知识:kotlin TextView、EditText的相关监听的常用使用

kotlin TextView、EditText的相关点击监听、长按监听、输入变化监听等的常用使用

会与以前的Android Java写法有一点点的区别。

//TextView点击监听 两种方式

//①
TextView.setOnClickListener {//这里写实现的功能}

//②
TextView.setOnClickListener(object :OnClickListener{
override fun onClick(v: View?) {//这里写实现的功能}
})

//TextView长按监听 两种方式
//①
TextView.setOnLongClickListener {
//这里写实现的功能
true}

//②
TextView..setOnLongClickListener(object : OnLongClickListener {
override fun onLongClick(v: View?): Boolean {
//这里写实现功能
return true
}
})

EditText监听与TextView几乎一样,但是它有输入内容变化的监听。

//EditText点击和长按监听 同TextView写法一样。下面写一个监听输入变化的方法 两种
//①、当前页,继承TextWatcher【例如:class XXXActivity : BaseActivity(), TextWatcher】

EditText.addTextChangedListener(this)//监听当前this,然后重写三个方法(输入后,输入前,输入文字产生变化)
 override fun afterTextChanged(s: Editable?) {
  //输入后的监听
 }

 override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
  //输入后的监听
 }

 override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
  //输入文字产生变化的监听
 }

//②、另一种写法,直接监听
EditText.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {//输入后的监听}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {//输入后的监听}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {//输入文字产生变化的监听}
})

有什么问题欢迎留言讨论

以上这篇kotlin中EditText赋值Type mismatch方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Kotlin 使用Lambda来设置回调的操作

    使用Kotlin的Lambda表达式,我们可以抛弃回调接口的使用.只需设置希望后面会被调用的函数即可. 示例如下 新建一个Kotlin类 class MyBean { fun testcallback1(callback: (String) -> Unit) { callback.invoke("这是回调的内容") } fun testcallback2(value1: Int, value2: Int, callback: (Int, Int) -> Int): Int

  • Android Studio中主题样式的使用方法详解

    1.主题 主题是包含一种或多种的格式化属性集合,在程序中调用主题资源可改变窗体的样式,对整个应用或某个Activity存在全局性影响. 定义位置:res/values目录下的styles.xml文件中 标签 <style></style>:定义主题 <item></item>:设置主题的样式 示例(定义一个名为AppTheme的主题) <style name="AppTheme" parent="Theme.AppComp

  • kotlin中EditText赋值Type mismatch方式

    在kotlin中可以不用使用findViewById来初始化控件,但是在给EditText赋值时使用editText.text = "value"时会提示Type mismatch,这是因为EditText在推断types时出现问题. 为了避免types不匹配,使用Editable类的Factory内部类,来解决这个问题. etStartTime.text = Editable.Factory.getInstance().newEditable("test") 补充

  • Kotlin中实体类的创建方式

    类的基本格式 class 类名{ } 属性的基本格式 var 属性名字 : 类型 下面是实体类代码 package com.dldw.entity import java.util.* class Demo { //var 声明的属性可以被二次赋值 val声明的是不可变属性,赋值以后不能在赋值,否则编译报错 //长整型 64位 注意后面加大写L var height: Long? = 0L //整型 32 位 var id : Int?= 0 //短整型 16位 var short :Short

  • jquery获取input type=text中的值的各种方式(总结)

     实例如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JQuery获取文本框的值</title> <meta h

  • Android中EditText显示明文与密码的两种方式

    效果图如下所述: 布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pa

  • 详解Kotlin中的面向对象(一)

    Kotlin中的面向对象 面向对象 面向对象的含义大家应该并不陌生,通过将事物抽象成对象,大大简化了程序的开发难度.我们常用的Java.Python.C++都属于面向对象的编程语言.Kotlin和java很相似,也是一种面向对象的语言.作为Kotlin中最重要的一部分,我们可以通过了解Kotlin的OOP进而了解这门语言,本文将从类.属性.接口.对象等多个方面介绍Kotlin的面向对象的特性. 类 和大部分语言类似,Kotlin使用class作为类的关键字,当我们声明一个类时,需要通过class

  • 详解Kotlin中的面向对象(二)

    详解Kotlin中的面向对象(二) 在Kotlin中的面向对象(一)中,介绍了Kotlin类的相关操作,本文将在上文的基础上,继续介绍属性.接口等同样重要的面向对象的功能. 属性 class AttrDemo{ private var attr1 : String = ""; protected var attr2 : String = ""; public var attr3 : String = ""; var varattr : Strin

  • Kotlin中let()with()run()apply()also()函数的使用方法与区别

    相比Java, Kotlin提供了不少高级语法特性.对于一个Kotlin的初学者来说经常会写出一些不够优雅的代码.在Kotlin中的源码标准库(Standard.kt)中提供了一些Kotlin扩展的内置函数可以优化kotlin的编码.Standard.kt是Kotlin库的一部分,它定义了一些基本函数. 这个源代码文件虽然一共不到50行代码,但是这些函数功能都非常强大. 一.回调函数的Kotin的lambda的简化 在Kotlin中对Java中的一些的接口的回调做了一些优化,可以使用一个lamb

  • Kotlin中协变、逆变和不变示例详解

    前言 Kotlin 泛型的基本语法类似于 Java ,不过出于型变安全,不支持 Java 中的<? extends T>,<?super T> 通配符型变约束,而是采用类似 C# 的 in,out 用于支持协变和逆变,这同时避免了处理子类型化,父类化的问题(即Java泛型中典型的List<T> 不是 List<Object>的子类型的问题): 基本的泛型语法可以参考官方中文文档:https://www.kotlincn.net/docs/reference/

  • Kotlin中的反射机制深入讲解

    前言 Java中的反射机制,使得我们可以在运行期获取Java类的字节码文件中的构造函数,成员变量,成员函数等信息.这一特性使得反射机制被常常用在框架中,想要比较系统的了解Kotlin中的反射,先从Java的反射说起. Java中的反射 通常我们写好的.java源码文件,经过javac的编译,最终生成了.class字节码文件.这些字节码文件是与平台无关的,使用时通过Classloader去加载这些.class字节码文件,从而让程序按照我们编写好的业务逻辑运行.Java的反射主要是从这些.class

  • Kotlin中的5种单例模式示例详解

    前言 最近在学习Kotlin这门语言,在项目开发中,运用到了单例模式.因为其表达方式与Java是不同的.所以对不同单例模式的实现进行了分别探讨.主要单例模式实现如下: 饿汉式 懒汉式 线程安全的懒汉式 双重校验锁式 静态内部类式 PS:该篇文章不讨论单例模式的运用场景与各种模式下的单例模式的优缺点.只讨论在Java下不同单例模式下的对应Kotlin实现. 一.饿汉式实现 //Java实现 public class SingletonDemo { private static SingletonD

随机推荐