例如:
如果点击右边“待定”时,左边输入法失去焦点
EditText:et_management_expense
RadioButton:
radioButton_management_expense_1
radioButton_management_expense_2
RadioGroup:
radioGroup_management_expense
et_management_expense.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
ForLog.showError("我获取焦点了"+hasFocus);
if(hasFocus){
radioButton_management_expense_1.setChecked(true);
}
}
});
radioButton_management_expense_2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(et_management_expense.hasFocus()) {
//et_management_expense.clearFocus();
radioGroup_management_expense.requestFocus();
}
new ForInput().close(activity);
}
});
最好为radioGroup_management_expense添加下面一句话:使其可以获取焦点
android:focusable="true"
android:focusableInTouchMode="true"
其中new ForInput().close(activity);为关闭输入法的操作:
public void close(Activity activity){
if(activity==null){
ForLog.showError("大事情,我在关闭输入法的时候,成功避免了一次闪退");
return;
}
((InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}