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 に答える