动态设置EditText的文本

时间:2012-03-18 05:35:02

标签: java android

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

我有两个EditTexts et1和et2。两者都是NumberDecimal类型.et2是unfocusableunclickable。用户只能在et1中输入值。我想要的是,只要用户输入et1中的数字,该数字应该在et2中显示。所以,如果用户必须输入10,他将首先输入1并且那个1也应该显示在et2.Now来完成数字,他将输入0然后数字10应该显示在et2.So,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的实现。

请帮忙。

在期待中感谢你。

2 个答案:

答案 0 :(得分:1)

使用以下代码

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添加到任何布局中。

答案 1 :(得分:0)

我必须做你想做的事情,我使用了KeyListener。只需在每次按下键时更新EditText。

检查出来:

http://developer.android.com/reference/android/text/method/KeyListener.html