android:windowSoftInputMode=“stateVisible” не работает

Я хотел бы открыть программную клавиатуру при запуске Activity, и я обнаружил, что

android:windowSoftInputMode="stateVisible" 

не работает.

Чтобы убедиться, , я создал новый проект (по умолчанию "Hello world") и сделал следующее:

  1. добавил в манифест windowSoftInputMode
  2. После того, как это не сработало, я добавил в макет поле EditView
  3. После того, как это не сработало, я добавил

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE) к процедуре onCreate.

Я скомпилировал его с Android 2.3.3 и попытался запустить на своем устройстве Galaxy S2 и эмуляторе Android4. и еще - нет клавиатуры.

Мой файл манифеста:

<?xml version="1.0" encoding="utf-8"?>

<uses-sdk android:minSdkVersion="9" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name">
    <activity
        android:name=".HelloworldActivity"
        android:label="@string/app_name"
        android:windowSoftInputMode="stateVisible">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Мой макет main.xml:

<?xml version="1.0" encoding="utf-8"?>

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />

</EditText>

Мой код:

public class HelloworldActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

    }
}
9
задан Cœur 14 December 2017 в 00:10
поделиться