我在 Android 上看到过一个应用程序,只要一个人在文本框中输入任何内容,显示输出的另一个文本框就会自动更改,而无需按下任何按钮或任何东西。我想知道如何为 Android 应用程序做到这一点。
问问题
99 次
3 回答
1
您可以通过将addTextChangedListener添加到 EditText 来做到这一点。对用户输入的数据执行所有操作,afterTextChanged
因为当用户停止在 Edittext 中输入时调用此方法
EditText edttext = (EditText)findViewById(R.id.edttext);
edttext.addTextChangedListener(textChecker);
TextWatcher textChecker = new TextWatcher() {
public void afterTextChanged(Editable s) {
//set text to other Views
}
};
请参阅此示例了解我们如何使用 TextWatcher
于 2013-01-13T07:29:24.083 回答
0
您可以addTextChangedListener
对您的 EditText 并使用onTextChanged
函数来更改其他 EditText 中的文本。
于 2013-01-13T07:29:01.763 回答
0
这里 ed 是 EditText ,我想,这段代码完成了你的期望..试试这段代码
ed.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int end) {
// TODO Auto-generated method stub
//tv.setText(s.toString());
if(s.length()==1){
String get=s.toString();
tv.setText(s.toString());
tv.startAnimation(mytrans);
mytrans.reset();
}else if(s.length()==2){
tv1.setText(s.subSequence(1,2));
tv1.startAnimation(myanim);
}else if(s.length()==3){
tv2.setText(s.subSequence(2, 3));
tv2.startAnimation(mytrans);
}else if(s.length()==4){
tv3.setText(s.subSequence(3, 4));
tv3.startAnimation(myalpha);
}else if(s.length()==5){
tv4.setText(s.subSequence(4, 5));
tv4.startAnimation(myanim1);
}else{
tv.setText(s.toString());
ObjectAnimator animation2 = ObjectAnimator.ofFloat(tv,"translationX",180);
animation2.setDuration(2000);
animation2.start();
ObjectAnimator animation3 = ObjectAnimator.ofFloat(tv,"translationY",100);
animation3.setDuration(2000);
animation3.start();
ObjectAnimator animation4 = ObjectAnimator.ofFloat(tv,"rotation",360);
animation4.setDuration(2000);
animation4.start();
ib.startAnimation(myanim);
ib1.startAnimation(myanim1);
tv.startAnimation(mytrans);
}
/*if(s.length()==6){
ib.requestFocus();
}*/
}
@Override
public void beforeTextChanged(CharSequence s, int start, int end,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
/*ib.startAnimation(myanim);
ib1.startAnimation(myanim1);
tv.startAnimation(mytrans); */
}
});
于 2013-01-13T09:56:51.383 回答