我的问题是edittext和textview不会更改文本。我尝试了不同的方法,但没有解决。尝试在for循环中为textview设置文本,但是不起作用。框为空。你能帮我吗
val edit = findViewById<EditText>(R.id.editBroj)
val webView = findViewById<WebView>(R.id.web)
val click=findViewById<Button>(R.id.pokreniB)
val textView=findViewById<TextView>(R.id.textView)
val si=edit.text.toString()
textView.text= Editable.Factory.getInstance().newEditable(si)
if (si!="") {
click.setOnClickListener() {
edit.text= Editable.Factory.getInstance().newEditable(null)
val po: Int = Integer.parseInt(edit.getText().toString())
for (i in 1..po) {
val s:String=i.toString()
Thread.sleep(1_000)
}
}
}
}
答案 0 :(得分:0)
如果我没有误解您想做什么,您应该使用TextWatcher
。这是方法;
editText.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
override fun afterTextChanged(s: Editable) {
textView.text = s.toString()
}
})
答案 1 :(得分:0)
我有两个线性布局。首先是EditText,Button和TextView。在第二个WebView中。 Edittext用于重复次数,textview用于复数。 我的第一个代码是
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val edit = findViewById<EditText>(R.id.editBroj)
val webView = findViewById<WebView>(R.id.web)
val click=findViewById<Button>(R.id.pokreniB)
val textView=findViewById<TextView>(R.id.textView)
if (edit.text.toString().isNotEmpty()) {
click.setOnClickListener() {
edit.text= Editable.Factory.getInstance().newEditable(null)
var po: Int = Integer.parseInt(edit.getText().toString())
for (i in po downTo 0 step 1) {
textView.setText(i.toString())
Thread.sleep(1_000)
//webView.reload()
}
edit.text= Editable.Factory.getInstance().newEditable("number of repetition")
}
}
}
}
应用正常工作,但edittext和textview不变。我不明白为什么