我有一个简单的活动,它在清单中使用android:theme="@android:style/Theme.Dialog"
。在对话框活动中自动显示软键盘
我的活动由一个EditText,2个按钮和一个TextView组成。它只不过是一个用户输入名称并按确定/取消的框。
我只想将焦点放在EditText上,并在活动启动时自动显示软键盘。我已经阅读了无数关于此的帖子,但我似乎无法让它工作。当活动开始时,闪烁的光标出现在EditText中,但键盘不会显示,直到我点击它。
这里是我的活动:
public class Finalize extends Activity {
private EditText mEditName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.finalize_dialog);
mEditName = (EditText) findViewById(R.id.file_name_edit);
mEditName.setFocusable(true);
mEditName.requestFocus();
mEditName.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
});
}
}
,我也尝试过的onCreate此:
InputMethodManager mgr = (InputMethodManager) getSystemService(this.INPUT_METHOD_SERVICE);
mgr.showSoftInput(mEditName, 0);
编辑:我的清单以供参考
<activity class=".Finalize"
android:name=".Finalize"
android:label="@string/file_name_title"
android:theme="@android:style/Theme.Dialog"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysVisible">
</activity>
不幸的是,没有工作。 – user432209 2010-12-05 21:36:55