我希望通过双击或长按(或以其他方式)从TextView复制到剪贴板中的一个单词。它可以吗?
感谢您提前的时间!!!
答案 0 :(得分:4)
使用EditText,并将属性editable设置为false。像这样:
<EditTextandroid:id="@+id/edittext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:editable="false"/>
然后在java代码中获取edittext:
EditText edit = (EditText)findViewById(R.id.edittext);
然后将以下内容放入侦听器 - 例如LongPressListener。
OnLongClickListener lc = new OnClickListener(){
@Override
public boolean onLongClick(View view){
int selection_start = edit.getSelectionStart();
int selection_end = edit.getSelectionEnd();
String copy = edit.getText().toString().subString(selection_start, selection_end);
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(copy);
return false;
}
};
edit.setOnLongClickListener(lc);
答案 1 :(得分:0)
在文本视图中使用您选择的任何列表器,但请记住在xml中使其可以在触摸模式下对于相关文本视图进行聚焦。
android:focusableInTouchMode="true"
android:clickable="true"
完成此操作后,使用以下代码将视图对象转换为文本视图后复制文本。
void onClick(View v)
{
TextView tv = (TextView) v;
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(tv.getText());
}