在做查询时,改观EditText弹出软键盘后,焦点没有落在EditText上,此时输入什么都不能回显在EditText中。
以下解决方法:
Timer myTimer = new Timer();
myTimer.schedule(new TimerTask() {
@Override
public void run() {
showSoftKeyboard(DictActivity.this, mEtSearch);
Message msg = updateBarHandler.obtainMessage();
msg.what = 1;
updateBarHandler.sendMessageDelayed(msg, 500);
}
},200);
public void showSoftKeyboard(Activity activity, View v)
{
InputMethodManager imm=(InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE);
//imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
imm.showSoftInput(v, 0);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
Handler updateBarHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
if (msg.what == 1){
mEtSearch.requestFocus();
}
}
};
本文介绍了解决EditText在查询时弹出软键盘后焦点未正确落在EditText上的问题,通过使用Timer和Handler实现了在指定延迟后将焦点设置到EditText上,确保输入能够正确回显。
8471

被折叠的 条评论
为什么被折叠?



