Скопировать текст из listView, используя onCreateContextMenu
Я пытаюсь скопировать текст элемента из представления списка с помощью элементов onCreateContextMenu OnCreateContextMenu и ListView и Копировать текст из TextView на Android, но я не знаю, как связать щелчок по копии в меню с listView.
Мой текущий код, откройте меню с копией, и я не знаю, как получить текст после того, как копия была нажата
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(0, v.getId(), 0, "copy");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="copy"){}
else {return false;}
return true;
}
Спасибо за помощь
1 ответ
Решение
Проблема была решена, следующее решение включает поддержку API 1-11 и выше 11
@SuppressLint("NewApi")
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle().equals(copy)){
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
int index = info.position;
String textTocopy =adapter.getItem(index-1).title;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("simple text",textTocopy);
clipboard.setPrimaryClip(clip);}
else{
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(textTocopy);
}
}
else {return false;}
return true;
}