私は Java と Android 開発の初心者です。
Google 検索を起動すると、すぐにソフト キーボードが表示されます。
私は同じことをしようとしています。私はたくさん検索しましたが、これを取得するにはさまざまな方法があることがわかりました。問題は、それらのどれも機能していないように見えることです
requestFocus()
私のアクティビティで私がしようとした
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
searchEditText = (EditText) findViewById(R.id.search_edit_text);
searchEditText.requestFocus();
});
requestFocus (xml)
私のxmlレイアウトファイルで私がしようとした
<EditText
android:id="@+id/search_edit_text"
android:hint="@string/search"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:imeOptions="actionSend"
android:singleLine="true">
<requestFocus />
</EditText>
マニフェスト
私が試したマニフェストxmlで
android:windowSoftInputMode="stateAlwaysVisible"
と
android:windowSoftInputMode="stateVisible"
InputMethodManager
私が試したアクティビティで
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
searchEditText = (EditText) findViewById(R.id.search_edit_text);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(searchEditText, InputMethodManager.SHOW_IMPLICIT);
});
実行可能
私の活動で
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
searchEditText = (EditText) findViewById(R.id.search_edit_text);
searchEditText.requestFocus();
searchEditText.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(searchEditText, 0);
}
},200);;
});
物乞いの中で言ったように、Google 検索で動作するため、動作する可能性があると確信しています。