Erd*_*dal 14 select android contextmenu copy textview
我有一个ListView每个项目的地方TextView.
我想启用类似于EditText显示默认上下文菜单的长按行为,其中包含"全部选中","全部剪切","全部复制"等项目.
有没有一种简单的方法来实现这个TextView?
pan*_*dre 20
我想我有一个解决方案.打电话吧
registerForContextMenu(yourTextView);
并且您TextView将注册接收上下文菜单事件.
然后覆盖onCreateContextMenu你的Activity:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
//user has long pressed your TextView
menu.add(0, v.getId(), 0, "text that you want to show in the context menu - I use simply Copy");
//cast the received View to TextView so that you can get its text
TextView yourTextView = (TextView) v;
//place your TextView's text in clipboard
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(yourTextView.getText());
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助您和其他任何人寻找一种方法来复制文本 TextView
小智 8
为了允许用户复制部分或全部 TextView 的值并将其粘贴到其他位置,
将 XML 属性设置{@link android.R.styleable#TextView_textIsSelectable android:textIsSelectable}为"true"
或者
称呼{@link #setTextIsSelectable setTextIsSelectable(true)}。
实际上,您不必自己开发此功能.您只需要使用EditText而不是TextView,而将EditText的android:editable设置为false.我的代码在这里:
R.layout.edittext.xml
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="40dip"
android:editable="false"
android:background="@null"
android:textColor="#FFFFFF"/>
Run Code Online (Sandbox Code Playgroud)
ListItemCopyTextActivity.java
public class ListItemCopyTextActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
ListView lv = new ListView(this);
String[] values = new String[15];
for (int i = 0; i < 15; i++) {
values[i] = "ListItem NO." + i;
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.edittext, values);
lv.setAdapter(adapter);
ll.addView(lv, LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
setContentView(ll);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以长按该项目,然后选择选择文本,复制,剪切,过去等.
| 归档时间: |
|
| 查看次数: |
23331 次 |
| 最近记录: |