我有一个EditText,我通过下面的代码手动控制显示键盘:
private void showKeyboard(boolean show) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (show) {
mAddNewEditText.requestFocus();
imm.showSoftInput(mAddNewEditText, 0);
} else {
mAddNewEditText.clearFocus();
imm.hideSoftInputFromWindow(mAddNewEditText.getWindowToken(), 0);
}
}
我会调用隐式意图获取新图像,当它返回活动时,它不会显示软键盘。所以我试着将键盘onResume函数显示如下:
@Override
protected void onResume() {
super.onResume();
if (mAddNewEditText.isFocused()) {
mAddNewEditText.post(
() -> showKeyboard(true)
);
}
}
但它显示的键盘与通常显示键盘不同:
我想知道这里有什么问题。是因为我使用post方法吗?没有帖子我无法显示键盘!
我尝试了什么:
注意:我正在使用Android模拟器。
答案 0 :(得分:1)
将此行放入您的清单内部活动
meta = ["{\
\"output_metadata\": {\
\"api_URL\": apiURL,\
\"query_execution_time\": queryExecTime,\
\"api_execution_time\": apiExecTime, \
}\
}"]
data = ["{\"data\": {\"id\": \"1234\", \"name\": \"jhon\", \"dept\": \"APA\"}]}"]
meta.append(data)
答案 1 :(得分:1)
也许你可以试试postDelayed(),延迟500毫秒或更长时间。完成UI后确保显示键盘。
答案 2 :(得分:1)
好的,我找到了答案: 在我的styles.xml中,我有这段代码:
<item name="android:windowFullscreen">true</item>
引起了这个问题,不确定原因。