textview textIsSelectable =" true"不在Listview中工作

时间:2014-10-15 10:58:14

标签: android listview textview

 <TextView
                    android:id="@+id/txtSender"
                    style="@android:style/TextAppearance.Small"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/sender_bubble"
                    android:gravity="center_vertical"
                    android:maxEms="11"
                    android:paddingBottom="5dp"
                    android:paddingLeft="5dp"
                    android:paddingRight="15dp"
                    android:paddingTop="5dp"
                    android:text="1234567"
                    android:autoLink="all"
                    android:textColor="@color/color_black"
                    android:textIsSelectable="true"
                    android:visibility="visible" />

这是我在customcell中的textview。当我点击textview时,它不允许我在textview中选择文本。它在我的xperia 4.2.2中运行得很完美,但是当我在4.4.4版本的设备中运行相同的代码时,它无效。

  

注意:当我将相同的android:textIsSelectable =“true”属性设置为不在Listview中的Textview时,它在4.4.4中工作正常。列表视图只是移动到底部并在半秒内重置到其原始位置。

3 个答案:

答案 0 :(得分:3)

在我的情况下,它不起作用,因为我在xml布局中使用了text:visibility =&#34;去了&#34;属性并在适配器代码中稍后显示。因此,您需要在使textview可见之后调用此方法

textView.setTextIsSelectable(true); 

答案 1 :(得分:1)

删除recyclerview或listview中的android:descendantFocusability="blocksDescendants"​以防止阻止选择

此外,将textview布局宽度从match_parent更改为wrap_content,以防止在重复使用文本单元格时禁用可选文本功能。

答案 2 :(得分:0)

删除textIsSelectable,改为使用:

android:inputType="textMultiLine"

该文字将是可选择和可编辑的。