编辑文本键盘在首次输入后未显示



所以我需要一个输入框来输入我的安卓应用程序中的文本。我的 xml 中有这个:

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/inputCodePA"
    android:textSize="18sp"
    android:inputType="text"
    android:hint="@string/inputHint"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/arrowRightPA"
    android:layout_toEndOf="@+id/arrowRightPA">
    <requestFocus/>
</EditText>

而这个:

public void setOnClickListners(){
    final EditText inputBox = (EditText)findViewById(R.id.inputCodePA);
    inputBox.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            inputBox.clearFocus();
            inputBox.requestFocus();
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(inputBox, InputMethodManager.SHOW_FORCED);
        }
    });
    inputBox.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            inputBox.setText("");
            inputBox.clearFocus();
            inputBox.requestFocus();
            return false;
        }
    });
}

对于我的活动类中的代码(setOnClickListner() 在我的 onCreate() 中调用)。

但是,每当我在 EditText 框中键入内容并按 Enter 后,我都无法打开键盘再次输入文本。

我知道我犯了一个非常基本的错误,但我似乎无法弄清楚是什么。毕竟,这是EditText第一次让我失望。

哈!

我发现了问题所在!

这是因为我在代码中的 EditText 下方有一个 ScrollView(这使得 ScrollView 变得"在前面"),这根本不允许用户单击该视图!

希望这能帮助其他犯这些愚蠢错误的人!

最新更新