EditText光标不可见

时间:2014-05-07 12:07:33

标签: android android-edittext

我有一个EditText,光标是不可见的。我该怎么做才能展示它?这是XML中的EditText:

<RelativeLayout
        android:id="@+id/text_field"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_margin="7dp"
        android:background="@drawable/box_message" >
    <myApp.EditTextView
        android:id="@+id/text_editor"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignWithParentIfMissing="true"
        android:layout_centerVertical="true"
        android:cursorVisible="true"
        android:textCursorDrawable="@null"
        android:layout_toLeftOf="@+id/send_side"
        android:hint="@string/Enter_message_Hint"
        android:imeOptions="actionSend|flagNoEnterAction"
        android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
        android:maxLength="1000"
        android:maxLines="3"
        android:nextFocusRight="@+id/send_button"
        android:padding="12dp"
        android:textSize="13sp"/>
</RelativeLayout>

这是一个包含所有3个构造函数的自定义EditText。

public EditTextView(Context 
{
this(context, null);
}

public EditTextView(Context context, AttributeSet attributeset)
{
this(context, attributeset, 0);
}

public EditTextView(Context context, AttributeSet attributeset, int defStyle)
{
super(context, attributeset, defStyle);

//set onTouch listener.
}

我已经在没有android:textCursorDrawable="@null"的情况下尝试过,但它没有用。

4 个答案:

答案 0 :(得分:1)

可能是因为你的背景颜色光标不可见,试着制作重力中心,因为光标可见。

android:gravity="center"

答案 1 :(得分:0)

您发布的代码似乎是正确的,因此问题存在于此范围之外。 我有一次这个问题,这是由于我调用构造函数的错误上下文。 您可以检查是否实际使用正确的应用程序上下文调用构造函数。不过,我担心问题可能在其他地方。

答案 2 :(得分:0)

EditText的状态为“聚焦”时,显示光标。确保EditText是可聚焦的。尝试添加以下属性:android:focusable="true" android:focusableInTouchMode="true"。但我认为问题可能出在自定义EditText的代码中。

答案 3 :(得分:0)

在xml 1,2,3中将一些值设置为minWidth。例如:minWidth =&#34; 1px&#34;到你的EditText的xml

<myApp.EditTextView
minWidth="1px"
.
.
./>