首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在android中启用选择/复制文本?

如何在android中启用选择/复制文本?
EN

Stack Overflow用户
提问于 2016-05-05 14:15:59
回答 2查看 1K关注 0票数 0

这是我的应用策略:

  • 有一个文本视图包含文本。
  • 为了编辑它们,我定义了操作模式项(例如编辑--这将文本视图文本转换为编辑文本),尽管有一些默认操作,比如选择all/copy/.作为选择文本,所以我不想定义它们。

我使用此代码启用默认的选择/复制按钮。但是当我点击按钮的时候,什么都没发生。为什么?xml代码:

代码语言:javascript
运行
复制
 <TextView
    android:id="@+id/speech"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="30dp"
    android:textSize="25sp" android:textAlignment="inherit"
    android:selectAllOnFocus="true"
    android:background="@drawable/curved_background"
    android:layout_centerInParent="true" android:textIsSelectable="true"
    android:padding="10dp"  />

在类中初始化TextView:

代码语言:javascript
运行
复制
 speech_text = (TextView) findViewById(R.id.speech);
 registerForContextMenu(speech_text);
    speech_text.setTextIsSelectable(true);
    speech_text.setCustomSelectionActionModeCallback(new SelectText());

SelectingText java类:

代码语言:javascript
运行
复制
public class SelectText implements ActionMode.Callback {

@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {


    MenuInflater inflater = mode.getMenuInflater();
    inflater.inflate(R.menu.text_select, menu);
    return true;
}

@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
    return false;
}

@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
    //  Log.d(Log, String.format("onActionItemClicked item=%s/%d", item.toString(), item.getItemId()));

    switch (item.getItemId()) {

        case ... //other actions
            return true;
    }
    return true;
}

@Override
public void onDestroyActionMode(ActionMode mode) {

}
}

注意:当我控制我的代码。问题是在这一行中定义SelectText类:speech_text.setCustomSelectionActionModeCallback(new SelectText());,因为当我删除这段代码时,每件事情都很好!

EN

回答 2

Stack Overflow用户

发布于 2016-05-05 14:41:03

您可以通过添加以下行,使应用程序中的文本能够在剪贴板中复制/粘贴:

代码语言:javascript
运行
复制
android:textIsSelectable

有关更多信息,请查看下面的参考资料,http://developer.android.com/reference/android/widget/TextView.html

谢谢。

票数 1
EN

Stack Overflow用户

发布于 2022-01-02 09:03:05

这应该对你有用。在您的xml jus中确保..。

代码语言:javascript
运行
复制
android:focusable="true"

android:textIsSelectable="true"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37052973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档