入力した番号の差異を自動的に計算する4つの編集テキストボックスがあります。次に、編集テキストボックスへの回答を表示します。私の問題は、最初のイベントが正常に動作することです。しかし、第2から第4のイベントがなぜ実行されないのかを判断することはできません。各編集テキストボックスは、互いに独立して動作するはずです。意味、編集テキスト1フォーカスが失われたら、計算を実行して停止します。編集テキスト2のフォーカスが失われると、計算が実行されて停止します。これを動作させる方法はありますか?ここでフォーカスにフォーカスを合わせる方法リスナーイベントが発生するように変更しました
は私のコードは
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.premix);
final EditText vw3 = (EditText) findViewById(R.id.editText3);
final EditText vw7 = (EditText) findViewById(R.id.editText4);
vw3.setOnFocusChangeListener(this);
vw7.setOnFocusChangeListener(this);
}
}
public void onFocusChange(View v, boolean hasFocus) {
DecimalFormat df2 = new DecimalFormat("##.#");
if ((v.getId() == R.id.editText3) && (hasFocus==false)){
EditText vw3 = (EditText) findViewById(R.id.editText3);
EditText vw2 = (EditText) findViewById(R.id.editText2);
float f1=0;
float f5=0;
f1=Float.parseFloat(vw3.getText().toString());
f5=(f1-100)*-1;
String str1 = String.valueOf(df2.format(f5));
vw2.setText(str1);
}
if ((v.getId() == R.id.editText7) && (hasFocus==false)){
EditText vw7 = (EditText) findViewById(R.id.editText7);
EditText vw8 = (EditText) findViewById(R.id.editText8);
float f2=0;
float f6=0;
f2=Float.parseFloat(vw7.getText().toString());
f6=(f2-100)*-1;
String str2 = String.valueOf(df2.format(f6));
vw8.setText(str2);
}
}
で誰もがこれで私を助けることができますか?