2

我正在尝试使用 onCreateContextMenu OnCreateContextMenu 和 ListView 项目从列表视图复制项目文本, 并 从 Android 上的 TextView 复制文本, 但我不知道如何将菜单中的副本单击与 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;  
}  

感谢您的帮助

4

1 回答 1

5

问题已解决,以下解决方案包括对 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;  

}  
于 2013-02-03T03:09:30.867 回答