我们已调用requestFocus
自动关注EditText
,但有时它会起作用或无法正常工作。所以我们将runnable添加到UI线程以专注于它。
view.post(new Runnable() {
@Override
public void run() {
view.requestFocus();
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);
}
});
最后我们知道它运作良好,但我真的很好奇。为什么?有人知道吗?
答案 0 :(得分:2)
在通货膨胀时调用 requestFocus()为时尚早,请尝试调用以下内容:
button.post(new Runnable(){
@Override
public void run(){
inflatedView.requestFocus();
} });
会将此调用安排到主队列(因此将调用它 在主线完成其工作之后,未来)。