活动开始时显示软键盘
我有两个活动,A和B.当A开始时,它检查一个条件,如果为真,它会调用startActivityForResult()
来启动B. B仅接受文本输入,因此对于软件键盘会在B启动时自动弹出。活动开始时,EditText已经有焦点并准备好输入。活动开始时显示软键盘
问题是键盘从来没有出现,即使windowSoftInputMode="stateAlwaysVisible"
设置在B的<activity>
标签下的清单中。我还尝试将值设置为stateVisible
。由于它不会自动显示,因此我必须点击EditText才能显示它。
任何人都知道解决方案可能是什么?
如果requestFocus的上一个EditText没有显示它,也许这会做到这一点:了解更多信息
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mEditText, 0);
看here。
什么工作对我来说最好的是Android清单的活动b。将
android:windowSoftInputMode="stateVisible"
希望为你以及帮助。
我要指出的是,到目前为止,这非常适用于运行2.2摩托罗拉的设备,但有些歌Nexus One,如Milestone采用2.1似乎忽略了这一点。 – Leo 2011-02-09 21:14:09
谢谢,要做到这一点编程方式检查https://stackoverflow.com/questions/5593053/open-soft-keyboard-programmatically – 2017-02-15 16:02:15
使用'stateVisible'导致键盘重现设备方向更改时。如果不需要这种行为,那么'stateVisible'不是解决方案。 – 2018-01-04 12:48:37
如果您使用仿真器,则必须关闭硬键盘才能显示软键盘。
尝试类似的措施:
public void onResume() {
super.onResume();
TimerTask tt = new TimerTask() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourTextBox, InputMethodManager.SHOW_IMPLICIT);
}
};
final Timer timer = new Timer();
timer.schedule(tt, 200);
}
为我工作只有这个解决方案: 在清单中添加该活动:
android:windowSoftInputMode="stateVisible|adjustPan"
工作,这样做是为了与硬件键盘设备的工作?我很难在硬件键盘设备(即2.2设备)中使用它 – NinjaCoder 2013-03-08 15:17:04
最简单的办法:把
android:windowSoftInputMode = "stateVisible"
AndroidManifest.xml的Activity部分中
文件:AndroidManifest.xml中
<activity android:name=".MainActivity">
添加以下属性:
android:windowSoftInputMode="stateVisible"
这对我的工作。
我有两种方法。
方法1. 使用onCreate方法
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
这将阻止,除非你点击弹出键盘里面的下面的代码。
或
方法2您可以通过XML使用“requestFocus的”搬开专注于像TextView的其他观点。
<TextView
android:id="@+id/year_birth_day"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="1991">
<requestFocus />
</TextView>
方法3(我想应该是可以避免的)使用在manifest-
android:windowSoftInputMode="stateVisible"
下面的代码(在黑暗中拍摄,但)你试过在文本框中requestFocus的? – 2010-03-18 02:37:37
我试过了,没用 – 2010-03-18 16:01:26