我无法弄清楚如何动态设置EditText的文本。 stackoverflow的一个用户建议我使用onTextChanged()
,但我也不怎么用。所以我读了一个小时,然后尝试实现它,错误错误错误!
所以,我再次问这个问题。
我有两个EditTexts
et1和et2。两者都是NumberDecimal
类型。et2是unfocusable
和unclickable
。用户只能在et1中输入值。我想要的是,只要用户在et1中输入数字,该数字就应该在et2中显示。因此,如果用户必须输入10,他将首先输入1,并且在et2中也应显示1。现在要完成该数字,他将输入0,然后应在et2中显示数字10。因此,et2应该根据et1中的输入,逐字符更新。
这就是我从et1中读取的内容:
et1=(EditText) findViewById(R.id.et1);
et2=(EditText) findViewById(R.id.et2);
String read=et1.getText().toString();
if(read.length()!=0)
{
float a=Float.parseFloat(read);
}
现在,如果我在et2上使用
setText()
,那将是动态的,此外,我将不得不使用button
来显示et2中的文本,并且它将显示整个String
,该文本在et1中输入,直到按钮被点击。在et1上使用
Listener
是个好主意,但由于我是新手,所以我不知道它在onTextChanged
中的实现。请帮忙。
感谢你在期待。
最佳答案
使用下面的代码
final TextView et2 = new TextView(this);
TextView et1 = new TextView(this){
@Override
protected void onTextChanged(CharSequence text, int start,
int before, int after) {
// TODO Auto-generated method stub
super.onTextChanged(text, start, before, after);
et2.setText(this.getText());
}
};
现在将这些et1,et2添加到任何布局中。