我是 Java 和 Android 开发的初学者。
当您启动 Google 搜索时,软键盘会立即出现。
我正在尝试做同样的事情。我搜索了很多,我发现有很多不同的方法可以获得这个,问题是它们似乎都不起作用
请求焦点()
在我的活动中,我试图
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
searchEditText = (EditText) findViewById(R.id.search_edit_text);
searchEditText.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"
输入法管理器
在我尝试的活动中
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 搜索上工作。