私は、人がテキストボックスに何かを入力するとすぐに、ボタンなどを押す必要なしに、出力を示す他のテキストボックスが自動的に変更される Android のアプリケーションを見たことがあります。Android アプリケーションでそれを行う方法を知りたかったのです。
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 に答える