gpt4 book ai didi

android - 只是从 android API 7 中的 textview 复制?

转载 作者:行者123 更新时间:2023-11-29 00:21:34 26 4
gpt4 key购买 nike

我想在 API 7 中将文本从 TextView 复制到剪贴板。

我有这个 xml 文件:

<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:textColor="#0000ff"
android:textSize="15dp"
android:shadowDx="4"
android:shadowDy="4"
android:shadowRadius="20"
android:textIsSelectable="true"

/>

android:textIsSelectable="true" 有两个问题:

  1. 仅适用于 API 11 及更高版本
  2. 此代码允许用户从 TextView 中剪切,但是当用户从 TextView 中剪切时,应用程序会失败。我可以做一些用户无法剪切 TextView 的事情吗???

最佳答案

在你的java代码中使用这个:

TextView textView=(TextView)findViewById(R.id.textView1);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ClipboardManager cm = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
cm.setText(textView.getText());
Toast.makeText(context, "Copied to clipboard", Toast.LENGTH_SHORT).show();
}
});

编辑- 以上代码用于点击;长按使用下面的代码-在您的 onCreate 方法中为上下文菜单注册您的 TextView-

TextView textView=(TextView)findViewById(R.id.textView1);
registerForContextMenu(textView);

然后覆盖onCreateContextMenu -

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
//user has long pressed your TextView
menu.add(0, v.getId(), 0, "Copy");

//cast the received View to TextView so that you can get its text
TextView textView = (TextView) v;

//place your TextView's text in clipboard
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(textView.getText());
}

关于android - 只是从 android API 7 中的 textview 复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22741669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com