0

編集テキストがあります。ここに何かを入力して外側をタップすると、入力された値が空でない場合、フォーカスとソフトキーボードが非表示になり、ボタンの表示が変更されます。編集テキスト 0 の値を再度入力して変更し、タップアウトすると、ボタンは再び非表示になります。PFA私がやっていること:

public void onFocusChange(View v, boolean hasFocus) {
    String s = enter_num.getText().toString();
    if(!(s.equals(""))){
        enter_num.setFocusable(isFinishing());
        InputMethodManager imm = (InputMethodManager).getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
        imm.hideSoftInputFromWindow(v.getWindowToken(), 0);                         
        ans_status2.setVisibility(View.VISIBLE);                                                                
    }
}

これは焦点を失うことではありません。これは最初から正しいアプローチですか?

4

1 に答える 1

0

これを次のように試してください:

public void onFocusChange(View v, boolean hasFocus) {
    String s = enter_num.getText().toString().concat("");
    int length = s.length();
    if(length <= 0){                
    } else {
        if(s.equals("0")){
            enter_num.setFocusable(isFinishing());
            InputMethodManager imm = (InputMethodManager).getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);                         
            ans_status2.setVisibility(View.VISIBLE);                                                                
         }
    }
}

これがあなたを助けることを願っています。

于 2013-03-27T12:38:42.677 に答える