如何解决长度过滤器不适用于textview吗? -安卓
我在这里也问过同样的问题
Why length max filter dosen't work ? android
但这是该问题的简单版本。
我只想创建一个简单的应用程序。
但是我陷入了maxlength实现中。
我为数量设置了过滤器,但不起作用,并且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 举报,一经查实,本站将立刻删除。