Personnalisé couper/copier de la barre d'action pour EditText texte poignées de sélection

J'ai une appli où je veux être en mesure de montrer un TextView (ou EditText) qui permet à l'utilisateur de sélectionner le texte, puis appuyez sur un bouton pour avoir quelque chose fait avec ce texte. La mise en œuvre de ce sur les versions d'Android avant en Nid d'abeille n'est pas un problème, mais sur le Nid d'abeilles et au-dessus de la longue par défaut-appuyez sur action est de montrer une barre d'action avec des Copier/Couper/Coller des options. Je peux intercepter long-appuyez sur pour afficher ma propre barre d'action, mais ensuite je n'ai pas le texte des poignées de sélection s'affiche.

Une fois que j'ai commencé ma propre ActionMode comment puis-je obtenir le texte des poignées de sélection s'affiche à l'écran?

Voici le code que j'utilise pour démarrer le ActionMode, qui travaille à l'exception il n'y a pas de texte poignées de sélection apparaissent:

public boolean onLongClick(View v) {
    if(actionMode == null)
        actionMode = startActionMode(new QuoteCallback());
    return true;
}

class QuoteCallback implements ActionMode.Callback {

    public boolean onCreateActionMode(ActionMode mode, Menu menu) {
        MenuInflater inflater = mode.getMenuInflater();
        inflater.inflate(R.menu.quote, menu);
        return true;
    }

    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
        return false;
    }

    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
        switch(item.getItemId()) {

        case R.id.quote:
            Log.d(TAG, "Selected menu");
            mode.finish();
            //here is where I would grab the selected text
            return true;
        }
        return false;
    }

    public void onDestroyActionMode(ActionMode mode) {
        actionMode = null;
    }
}
  • Est-il un moyen par lequel nous pouvons le faire sur un bouton cliick, comme.. j'ai un textview, qui est sélectionnable. je veux lancer le defaultactionmode associés esprit d'affichage de texte (avec tout sélectionner et copier), sur le clic d'un bouton. Je ne peux pas utiliser performLongClick () de textview comme, il est déjà remplacé. Est-il possible de réaliser cela? J'ai essayé startActionMode(), mais il s'ouvre sur un espace vide de la barre d'action..
InformationsquelleAutor Clyde | 2012-10-21