私は2つのedittextボックスで簡単なアプリケーションを持っています。入力が第1のボックスに入力されると、1組の計算が実行される。代わりに入力が他の入力に入れられると、異なるセットのcalcが発生します。editbox lostfocusは間違ったedittextボックスで起動します
したがって、最初のボックスetBox1に数値が入力され、ユーザーがボックスを離れると、最初のボックスのデータを使用して再入力を計算し、2番目のボックスに入れます。数字が第2ボックスのetBox2に入力された場合、そのデータは最初のボックスの値を計算するために使用されます。
私が試した:
final EditText etBox1 = (EditText) findViewById(R.id.etBox1)
final EditText etBox2 = (EditText) findViewById(R.id.etBox2)
etBox1.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
@override
public void onFocusChange(View v, boolean lostfocus)
{
if (lostFocus == true)
{ //do my calculations....}
この火災焦点がetBox1に与えられた代わりの緩い焦点にボックスを待っているとき。これは、ユーザーがボックスに数字を入力する機会がなかったため、アプリケーションをクラッシュさせます。これが "lostFocus"ではなく "hasFocus"として動作する理由は何ですか? AndroidのサイトでlostFocusに関するドキュメントはありません。
またetBox1がフォーカス時にLOSTFOCUSを失っがフォーカスの代わりに、発射された可能性があります。 –
私は以下のようにメソッドを修正しました:@Override public void onFocusChange(View v、boolean hasFocus){if(hasFocus == false)...何かを実行します –