我是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搜索。
答案 0 :(得分:1)