Android TextView在CoordinatorLayout中不可选? (TextView不支持文本select,取消select)

这是我得到的错误: W/TextView: TextView does not support text selection. Selection cancelled. W/TextView: TextView does not support text selection. Selection cancelled.

我惊呆了,因为其他Textviews我已经在RelativeLayout实现了文本可选的时候我有属性android:textIsSelectable="true" – 但是,这一次不工作。

此代码使用XML中的include关键字放在app_bar_main.xml下。

这是app_bar_main.xml

 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".MainActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" > </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main" /> //This is where the textview is added! </android.support.design.widget.CoordinatorLayout> 

这是编辑的content_main.xml

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff" android:orientation="vertical" tools:context="com.androidterminal.MainActivity" tools:showIn="@layout/app_bar_main"> //I have some other LinearLayouts here <RelativeLayout android:id="@+id/ll5" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/ll2" android:orientation="horizontal"> <TextView android:id="@+id/main1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorGrey" android:textIsSelectable="true" android:textColor="#000000" /> </RelativeLayout> </RelativeLayout> 

这个TextView main1是不可选的,并在LogCat中引发上述警告。 请帮忙。 谢谢。 (我已经尝试设置focusable和setFocusable属性)

Solutions Collecting From Web of "Android TextView在CoordinatorLayout中不可选? (TextView不支持文本select,取消select)"

你的代码工作正常,我不知道你的系统上有什么configuration。

尝试以下修复

  1. 在java中试试这个。

     textview.setTextIsSelectable(true); textview.setFocusable(true); textview.setFocusableInTouchMode(true); 
  2. TextView宽度从match_parent更改为wrap_content

使用以下CopyTextView.java可以解决您的问题:

 public class CopyTextView extends EditText { private boolean mEnabled; // is this edittext enabled public CopyTextView(Context context) { super(context); } public CopyTextView(Context context, AttributeSet attrs) { super(context, attrs); } public CopyTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); try { if (!mEnabled) return; super.setEnabled(false); super.setEnabled(mEnabled); } catch (Exception e) { e.printStackTrace(); } } @Override public void setEnabled(boolean enabled) { this.mEnabled = enabled; super.setEnabled(enabled); }} 

然后在你的布局文件中使用它

  <com.your_package_name.CopyTextView android:id="@+id/main1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorGrey" android:textIsSelectable="true" android:textColor="#000000" /> 

看看这个,它的工作原理,我已经删除了你在XML中给出的样式

在这里输入图像说明

逻辑思维,文本可以通过长按鼠标点击….所以textview必须是可以长时间点击的

 <TextView android:id="@+id/main1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorGrey" android:textIsSelectable="true" android:focusable="true" android:longClickable="true" android:textColor="#000000" />