How to make an EditText selectable but not editable on Android Ice Cream Sandwich?

后端 未结 4 1641
甜味超标
甜味超标 2021-02-07 03:15

I have a ListView in Activity, and in each item , I insert an EditText for show my text. I need drag the handle to select text & copy the text, but can not edit text. On And

相关标签:
4条回答
  • 2021-02-07 03:56

    I think you could override the onKeyDown() method, make it do nothing but return true. It should catch the keypresses from the keyboard and negate them before they can go into the text in the EditText.

    You might also try setting editable to false like this

    android:editable="false"
    

    on the EditText in your xml layout. However I am not certain if this will let you still highlight and copy, but it is worth a shot.

    0 讨论(0)
  • 2021-02-07 04:00

    Althouth android:editable is deprecated and Lint suggests to use inputType, It doesn't seem to work. So android:editable="false"is apparently the best possible solution for all android versions.

    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:editable="false"
        android:textIsSelectable="true"
        tools:ignore="Deprecated" />
    
    0 讨论(0)
  • 2021-02-07 04:10

    I resolved this problem.
    Just set TextView like this:

    text.setTextIsSelectable(true);
    
    0 讨论(0)
  • 2021-02-07 04:15

    text.setTextIsSelectable(true) requires API 11. For those using lower API's: In xml use:

    android:inputType="none"
    android:textIsSelectable="true"
    

    This will make your EditText uneditable but selectable.

    0 讨论(0)
提交回复
热议问题