我无法弄清楚如何动态设置EditText的文本。 stackoverflow的一个用户建议我使用onTextChanged()
,但我也不知道如何。所以我读了一个小时,当试图实现它时,错误错误错误!
所以,我再次提出这个问题。
我有两个EditTexts
et1和et2。两者都是NumberDecimal
类型.et2是unfocusable
和unclickable
。用户只能在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
的实现。
请帮忙。
在期待中感谢你。
答案 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