2015-09-26 2 views
0

J'ai un textView et je fait son texte copiable puis passer outre onCreateContextMenu:Comment afficher un toast après avoir cliqué sur le menu?

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
    //user has long pressed your TextView 
    menu.add(0, v.getId(), 0, "Copy"); 
    TextView yourTextView = (TextView) v; 
    ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
    clipboard.setText(yourTextView.getText()); 

} 

Je veux montrer du pain grillé « copié dans le presse papier » après le menu est cliqué, comment puis-je faire? Et ma deuxième question est pourquoi ClipManager est obsolète? quoi utiliser à la place?

Répondre

1
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
    //user has long pressed your TextView 
    menu.add(0, v.getId(), 0, "Copy"); 
    TextView yourTextView = (TextView) v; 
    ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 

    clipboard.setText(yourTextView.getText()); 
} 

    @Override 
public boolean onContextItemSelected(MenuItem item) { 

    super.onContextItemSelected(item); 

    if (item.getTitle() == "Copy") { 
     Toast.makeText(getApplicationContext(), "copied to clipboard", Toast.LENGTH_LONG).show(); 

    } 
    return true; 
} 

} 

pour SDK> = 15, cela fonctionnera

ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
    ClipData clip = ClipData.newPlainText("label for text", "text to copy"); 
    clipboard.setPrimaryClip(clip); 
+0

Je veux ti montrer du pain grillé après que je clique sur le menu ce code affiche du pain grillé, dès que le menu apparaît – Suzi

+0

j'ai mis à jour le code –

+0

mais la deuxième partie fonctionne bien, merci! – Suzi