4

我希望我的应用程序中的 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 平板电脑开发。

4

1 回答 1

18

尝试这个

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

userIdInput.post(new Runnable() 
    {
      public void run() 
       {
        userIdInput .requestFocus();
       }
    });
于 2012-06-18T12:08:32.277 回答