Android RequestFocus()效果不佳

时间:2012-06-18 11:57:58

标签: android focus android-edittext

我希望我的应用程序中的EditText在应用程序启动时默认拥有光标。 我尝试使用

<EditText
    android:id="@+id/idInput"
    android:layout_width="480dp"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:ems="10" >

    <requestFocus />
</EditText>

以及

userIdInput = (EditText)findViewById(R.id.idInput);
userIdInput.setFocusable(true);
userIdInput.setFocusableInTouchMode(true);
userIdInput.requestFocus();

但似乎没有任何效果。应用程序启动时光标无处可见,我必须手动单击EditText才能使光标显示在其上。

我可能在哪里出错?

顺便说一下,我正在为Android 4.0.3平板电脑开发。

1 个答案:

答案 0 :(得分:18)

试试这个

userIdInput = (EditText)findViewById(R.id.idInput);

userIdInput.post(new Runnable() 
    {
      public void run() 
       {
        userIdInput .requestFocus();
       }
    });