我正在尝试使用 onCreateContextMenu 从列表视图中复制项目文本OnCreateContextMenu 和 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;
}
谢谢你的帮助
问题已解决,以下解决方案包括对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;
}