1
我有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);
}
}
谁能帮助我?