1

我正在使用隐藏的 EditText(可见性未设置为不可见,而是 EditText 的宽度和高度为 0dp)来接收用户输入。我正在使用输入数据来填充其他 TextView。我这样做的原因是因为我不希望可见表单(TextViews)具有与实际 EditText 相同的属性,但我确实想使用软键盘。

我的问题是,当用户选择隐藏键盘时,无论是通过按回或“完成”按钮,我想让它在他们点击 TextView 时重新出现,以便他们再次可以开始编辑隐藏的 EditText。

我尝试了以下代码,但没有成功:

if(hiddenEt.requestFocus()) {
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}

if 语句中的代码会运行,但软键盘不会重新出现。

是否有单独的函数用于实际调用软键盘?

4

2 回答 2

1

在单击时尝试在 textview 中使用以下代码..

hiddenEt.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(hiddenEt, InputMethodManager.SHOW_IMPLICIT);
于 2013-10-07T12:16:35.980 回答
0
InputMethodManager imm=(InputMethodManager)getSystemService(yourActivity.this.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

添加 android:windowSoftInputMode="stateVisible|adjustResize|adjustPan"您的清单文件。

<activity
            android:name=".yourActivity"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateVisible|adjustResize|adjustPan" >
        </activity>
于 2013-10-07T12:20:00.343 回答