所以我有一个编辑文本,我试图让键盘在倾斜时处于焦点状态。
我正在使用摩托罗拉 MC40 的设备。安卓版本 2.3.4。
我检查它是否在焦点上,我已经调试并看到它在焦点上。我尝试了以下方法:
txtQuantity.selectAll();
txtQuantity.requestFocus();
虽然这适用于我的程序的其他部分,但它不适用于此活动。
编辑文本被聚焦,但文本没有被选中,键盘也不在那里。编辑文本在屏幕上有点低,在其他活动上它有点高。我相信这就是键盘不显示的原因,正确还是错误?
如果我强制使用键盘
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
然后它显示的键盘。然而,出于某种奇怪的原因,我的编辑文本框现在缩小到原来大小的 1/3d,你看不到里面写了什么!
这个问题开始困扰我。
编辑:
作为解决方法,此事件似乎有所帮助。但是,我收到一个弹出窗口,要求我在 3 个选项、单词/全部/方法之间进行选择。如果我选择中间那个,它会起作用,但我需要以某种方式以编程方式做到这一点。
edittext.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0));
编辑文本框
<EditText
android:id="@+id/..."
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/..."
android:layout_alignRight="@+id/..."
android:layout_below="@+id/..."
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/..."
android:ems="10"
android:hint="@string/..."
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="10"
android:nextFocusUp="@+id/..."
android:selectAllOnFocus="true" />