如何在单击另一个文本视图时将焦点添加到编辑文本



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

我的问题是,当用户选择通过按返回或"完成"按钮隐藏键盘时,我想在他们单击TextView时使其重新出现,以便他们可以再次开始编辑隐藏的EditText。

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

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

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

是否有用于实际调用软键盘的单独功能?

单击时在文本视图中尝试以下代码。

hiddenEt.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(hiddenEt, InputMethodManager.SHOW_IMPLICIT);
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>

最新更新