gpt4 book ai didi

java - android的EditText的动态前导文本

转载 作者:行者123 更新时间:2023-12-02 08:49:58 26 4
gpt4 key购买 nike

我研究过使用 TextWatcherInputFilter,但我不太确定如何解决这个问题。

这个想法是有一个从右向左插入文本的EditText。随着使用输入的变化,我希望发生以下情况。

- User enters "1" -> Text formats as 00:01
- User enters "2" -> Text formats as 00:12
- User enters "8" -> Text formats as 01:28

我该如何解决这个问题? Inputfilter 似乎用于排除文本,并且在 TextWatcher 中使用 setText 似乎在无限循环中运行。

最佳答案

试试这个:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">

<EditText
android:id="@+id/edittext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25dp"
android:padding="20dp"
android:inputType="number"
android:maxLength="4"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:textSize="25dp"
android:padding="20dp"/>

</LinearLayout>

MainActivity.kt

import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
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) {
if (s.length<5){
var a=""
var i=4-s.length
var j=0
while (j<i){
a+="0"
j++
}
var b=a+s
b = b.substring(0, 2) + ":" + b.substring(2, b.length)
textview.setText(b)}
}
})
}
}

关于java - android的EditText的动态前导文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60839902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com