微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

长度过滤器不适用于textview吗? -安卓

如何解决长度过滤器不适用于textview吗? -安卓

在这里也问过同样的问题

Why length max filter dosen't work ? android

但这是该问题的简单版本。

我只想创建一个简单的应用程序。

一个按钮和一个Textview。

每单击此按钮,文本视图的数量就会增加1。

但是我陷入了maxlength实现中。

实际上,我希望此金额仅增加到5,而不再增加

我为数量设置了过滤器,但不起作用,并且xml atrribute的maxlength也不起作用(但我认为xml的maxlength将被覆盖)。

代码

活动:



class MainActivity : AppCompatActivity() {


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)


        val number = findViewById<TextView>(R.id.number)
        val button = findViewById<Button>(R.id.button)


        var amount = 1


        button.setonClickListener {

            amount++

        number.text = amount.toString()

            number.filters = arrayOf(InputFilter.LengthFilter(5))
            
        }

    }
}

xml:

    <TextView
        android:id="@+id/number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_margin="8dp"
        android:maxLength="5"
        android:padding="8dp"
        android:text="1"
        android:textSize="20sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/number"
        android:layout_centerHorizontal="true"
        android:text="button" />

感谢高级帮助。

解决方法

要检查amount变量的最大值,可以使用if运算符:

button.setOnClickListener {

    amount++

    if (amount <= 5) {
        number.text = amount.toString()
    }            
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?