如何指定哪些EditText应该关注Activity启动和自动调出键盘?

时间:2012-07-06 20:53:04

标签: android

我想立即突出显示当活动加载并调出软键盘时,将焦点放在特定的编辑框中。我怎样才能做到这一点? onStart()中还应该有什么内容吗?

4 个答案:

答案 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();                

            }
        });

        }
}