0

我有一个像下面这样的编辑文本。问题是我的编辑文本没有闪烁的光标。我怎样才能得到这个?具体来说,我想要的是当用户单击我的编辑文本一次时,键盘应该会出现。知道我该怎么做吗?

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:ems="10"
    android:focusable="true"
    android:inputType="textMultiLine"
    android:maxLines="1" >
</EditText>
4

5 回答 5

0

您可以使用以下代码获得焦点。

EditText editText1=(EditText) findViewById(R.id.editText1);
editText1.requestFocus();
editText1.setFocusableInTouchMode(true);
于 2013-09-06T05:09:38.467 回答
0

自定义闪烁光标将在 EditText 获得焦点时自动显示,我想如果有其他东西争夺焦点,那么您的 EditText 无法获得它。

于 2013-09-06T05:13:20.307 回答
0

使用<requestFocus />android:focusableInTouchMode="true"

  <EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:ems="10"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:inputType="textMultiLine"
    android:maxLines="1" >

    <requestFocus />
</EditText>
于 2013-09-06T05:13:51.730 回答
0

只需调用EditText.setOnFocusChangeListener()并覆盖侦听器的onFocusChange

editText.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
                // come up with the keyboard.
            }

        }
    });

如果您想EditText获得焦点,请致电requestFocus()

于 2013-09-06T05:15:32.230 回答
0

隐式打开键盘。用这个

// for showing the soft keyboard on click of edit text
    InputMethodManager mgr = (InputMethodManager) getSystemService   (Context.INPUT_METHOD_SERVICE);
    // only will trigger it if no physical keyboard is open
    mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);

并让光标可见只需将其添加到您的 xml 中。

android:cursorVisible="true"

祝你好运!..

于 2013-09-06T05:23:31.797 回答