单击另一个TextView时如何将焦点添加到EditText

时间:2013-10-07 12:07:48

标签: android textview focus android-edittext

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

点击后在textview中尝试以下代码..

hiddenEt.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(hiddenEt, InputMethodManager.SHOW_IMPLICIT);

答案 1 :(得分: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>