我想立即突出显示当活动加载并调出软键盘时,将焦点放在特定的编辑框中。我怎样才能做到这一点? onStart()中还应该有什么内容吗?
答案 0 :(得分:0)
执行findViewByID()
后,可以在View上调用:requestFocus()你可以在onStart中做到这一点 - 我现在看到它不起作用的原因。
点击此处:
http://developer.android.com/reference/android/view/View.html
答案 1 :(得分:0)
使用getSystemService(...)
,在这种情况下,可以获得Context.INPUT_METHOD_SERVICE
,请查看下面的代码示例以供说明:
InputMethodManager imm = (InputMethodManager)context.getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(edittext, 0, null);
答案 2 :(得分:0)
在您的布局中,将</requestFocus>
标记放在EditText
中。
在onStart()
电话
getDialog().getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
答案 3 :(得分:0)
理想情况下这应该有效。
<EditText
android:id="@+id/Abc"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<requestFocus />
</EditText>
但是有一些已知的键盘问题没有弹出。请参阅this。
您也可以使用Runnable执行此操作:
public class MyActivity extends Activity {
private Handler mHandler= new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// get text
mHandler.post(new Runnable() {
public void run() {
text.requestFocus();
}
});
}
}