我无法弄清楚如何动态设置EditText的文本。 stackoverflow的一个用户建议我使用onTextChanged(),但我也不怎么用。所以我读了一个小时,然后尝试实现它,错误错误错误!
所以,我再次问这个问题。

我有两个EditTexts et1和et2。两者都是NumberDecimal类型。et2是unfocusableunclickable。用户只能在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添加到任何布局中。

08-27 14:16