我在
AndroidManifest.xml中的Activity中添加了android:windowSoftInputMode =“stateAlwaysVisible”,这是我的布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <EditText android:id="@+id/EditText01" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText> <EditText android:id="@+id/EditText02" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText> <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send"></Button> </LinearLayout>
alt text http://img227.imageshack.us/img227/2006/18021414.png
当Activity启动时,EditText会聚焦,但不会显示软键盘.如果我点击EditText,那么我会看到软键盘.我的Activity启动时是否需要设置aditional参数来显示软键盘?
谢谢
解决方法
解决方案1:
InputMethodManager imm = (InputMethodManager) SearchActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null){ imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); }
解决方案2:
private void showVirturalKeyboard(){ Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { InputMethodManager m = (InputMethodManager) SearchActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE); if(m != null){ // m.toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS); m.toggleSoftInput(0,InputMethodManager.SHOW_IMPLICIT); } } },100); }