android:textIsSelectable="true" for TextView 里面 Listview 不起作用

Posted

技术标签:

【中文标题】android:textIsSelectable="true" for TextView 里面 Listview 不起作用【英文标题】:android:textIsSelectable="true" for TextView inside Listview does not work 【发布时间】:2016-07-07 11:50:48 【问题描述】:

我在下面的 ListView 中遇到了 TextView 的问题。

在列表视图中,我有一个 TextView 并且我已经设置了

android:textIsSelectable="true"

但是,当我长按 TextView 时,我看到了日志打印

TextView: TextView does not support text selection. Action mode cancelled.

所以我不能对 TextView 使用复制和粘贴功能。

如果您有解决此问题的任何想法,请给出一些提示以解决它。

非常感谢

【问题讨论】:

检查一下...***.com/questions/28605680/… 请在manifest中检查你的最低SDK级别,应该是11或以上。 JigneshAnsodariya:我的 minSdkVersion 是 14 @nandkishormewara:我在我的 xml 中设置了 android:focusable="false" 或 android:focusableInTouchMode="false"。但它不起作用。注意:它只发生在 ListView 中的 TextView developer.android.com/guide/topics/text/copy-paste.html 【参考方案1】:

试试这个……

  ListView list = (ListView) findViewById(R.id.yourList);    
    list.setOnItemLongClickListener(new OnItemLongClickListener() 
    public void onItemLongClick(AdapterView<?> a, View v, int position,long id) 
                    TextView yourFirstTextView = (TextView) v.findViewById(R.id.yourFirstTextViewId);                    
                    copyTextToClipboard(yourFirstTextView);                   

    public void copyTextToClipboard(TextView txtView)
         int sdk = android.os.Build.VERSION.SDK_INT;
         if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) 
             android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
             clipboard.setText(txtView.getText().toString());
          else 
             android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
             android.content.ClipData clip = android.content.ClipData.newPlainText("text label",txtView.getText().toString());
             clipboard.setPrimaryClip(clip);
         
    

愿它起作用。

【讨论】:

感谢@SJ143:我不想复制所有文本,我只选择文本的一部分 在list.setOnItemLongClickListener中,尝试添加textView.setTextIsSelectable(true);并将其从 xml 中删除,而是使用: android:inputType="textMultiLine" 嗨@SJ143:我还没有解决这个问题。我正在继续搜索谷歌:D【参考方案2】:

TextView 将宽度设置为“match_parent”android:layout_width="match_parent"

【讨论】:

以上是关于android:textIsSelectable="true" for TextView 里面 Listview 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Android Interface(UI) 界面控件简单介绍01

TextView实现选中复制到系统粘贴板

CardView 中突出显示的文本没有颜色

android开发中获取选中文字以及弹出框

从多个 TextView 中选择文本

我想要一个功能,当用户长按 textView 中的文本时,会出现一个带有该文本定义的弹出窗口