Wie aktiviere ich das standardmäßige Kopieren und Einfügen für eine TextView in Android?

Lesezeit: 4 Minuten

Wie aktiviere ich das standardmasige Kopieren und Einfugen fur eine
Nutzer

Ich möchte das standardmäßige Kopieren und Einfügen für eine TextView aktivieren (dasselbe wie für EditText). Wie kann ich es tun?

Ich habe versucht, einen nicht bearbeitbaren EditText zu verwenden, aber er hat nicht gut funktioniert (manchmal wurde er bearbeitbar oder das Copy-Paste-Overlay wurde nicht angezeigt). Und es ist wahrscheinlich kein guter Ansatz im Allgemeinen.

Benötigen Sie eine funktionierende Lösung ab API 7.

  • Suchst du danach?

    – Jermin Bazazian

    30. April 2012 um 15:21 Uhr

  • Es ist ähnlich, aber nicht dasselbe, weil ich den gesamten Text kopieren möchte. Aber es sieht genauso aus. Das Problem ist, dass die Antwort dort nur ab API 11 funktioniert und ich etwas brauche, das ab API 7 funktioniert.

    – Nutzer

    30. April 2012 um 15:23 Uhr

  • ClipboardManager ist seit API 1 verfügbar (siehe Hier ). Wie wäre es mit langem Drücken mit einem Popup zum Kopieren in die Zwischenablage?

    – Jermin Bazazian

    30. April 2012 um 15:40 Uhr

  • @Jermin Ja, es scheint, ich muss eine benutzerdefinierte Lösung erstellen.

    – Nutzer

    2. Mai 12 um 7:05 Uhr

1643089386 793 Wie aktiviere ich das standardmasige Kopieren und Einfugen fur eine
CommonsWare

Versuchen android:textIsSelectable.

dh, android:textIsSelectable="true"

  • Kann man es für EditTextPreference tun?

    – Pulver366

    9. März 13 um 13:17 Uhr

  • @powder366: Das würde ich denken EditTextPreference unterstützt bereits Kopieren/Einfügen. Es scheint sicherlich in der App “Einstellungen” zu sein.

    – CommonsWare

    9. März 13 um 13:26 Uhr

  • Tatsächlich scheint es ein Bug zu sein. Wird auf meinem Samsung 4.2.2-Gerät angezeigt. Nexus7 und Nexus10 funktionieren. code.google.com/p/android/issues/detail?id=26008

    – Pulver366

    9. März 13 um 14:17 Uhr


  • Nur eine Anmerkung dazu: Wenn Ihre Textansicht anfänglich ausgeblendet ist und Sie sie programmgesteuert mit setVisibility anzeigen, müssen Sie textView.setTextIsSelectable(true) verwenden, damit dies funktioniert. In diesem Fall funktioniert es nicht über XML.

    – Praveen Singh

    4. November 17 um 19:20 Uhr

1643089386 906 Wie aktiviere ich das standardmasige Kopieren und Einfugen fur eine
RamiReddy

Um das standardmäßige Kopieren/Einfügen für TextView zu aktivieren, können Sie eine der folgenden Optionen wählen:

  1. Änderung in der Layoutdatei: Fügen Sie die folgende Eigenschaft zu Ihrer TextView hinzu

    android:textIsSelectable="true"

  2. Schreiben Sie diese Zeile in Ihre Java-Klasse, um sie programmgesteuert festzulegen. myTextView.setTextIsSelectable(true);

Wenn Sie lange auf die Textansicht drücken, können Sie die Aktionsleiste zum Kopieren / Einfügen sehen.

  • ich tue es. Wenn ich auf Texte klicke, öffnet sich die Symbolleiste mit den Schaltflächen “Kopieren” und “Alle auswählen”. aber nachdem ich darauf geklickt habe passiert nichts. Was kann ich tun?

    – Mina Dahesh

    5. Mai 16 um 6:36 Uhr

  • Diese Lösung ist besser als die mit dem grünen Häkchen markierte.

    – Adam Hurwitz

    1. Juli 16 um 17:34 Uhr

Wie aktiviere ich das standardmasige Kopieren und Einfugen fur eine
Nutzer

Dies funktioniert für Kopien vor Honeycomb:

import android.text.ClipboardManager;

textView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        ClipboardManager cm = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
        cm.setText(textView.getText());
        Toast.makeText(context, "Copied to clipboard", Toast.LENGTH_SHORT).show();
    }
});

  • Eine gute Strategie wäre, dies zusammen mit der Antwort von CommonsWare zu verwenden. Seit dem Hinzufügen android:textIsSelectable im Layout lebt, wird es auf niedrigeren API-Ebenen einfach ignoriert. Verwenden Sie dann die Lösung von Ixx innerhalb einer if-Anweisung, die überprüft, ob das API-Level unter 11 liegt. Das Beste aus beiden Welten. Das Schöne daran android:textIsSelectable ist, dass es Ihnen die Textauswahl-Aktionsleiste der Plattform gibt und ein nettes natives Gefühl hat.

    – ejf

    11. September 12 um 0:15 Uhr


  • Die Methode setText(CharSequence) vom Typ ClipboardManager ist veraltet

    – S.M_Emamian

    10. Januar 15 um 19:49 Uhr

  • Ja, nun, diese Antwort ist mehr als 2 Jahre her. Fühlen Sie sich frei zu bearbeiten oder ein neues hinzuzufügen.

    – Nutzer

    10. Januar 15 um 19:51 Uhr

Erfordert API 11, Aktualisierter Code, vorherige Methode ist veraltet

Lösung für Thema Vollbild ohne ActionBar

Erweitern TextView und im Konstruktor folgenden Code einfügen

this.setOnLongClickListener(new OnLongClickListener() {

            @Override
            public boolean onLongClick(View v) {
                ClipboardManager cManager = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
                ClipData cData = ClipData.newPlainText("text", getText());
                cManager.setPrimaryClip(cData);
                Util.toast(mContext, string.text_copyed);
                return true;
            }
        });

Wie aktiviere ich das standardmasige Kopieren und Einfugen fur eine
Agilanbu

Fügen Sie diesen Code in der XML-Textansicht ein

android:textIsSelectable="true"

Dann in Java-Datei,

 final TextView txtcopypaste = findViewById(R.id.txtcopypaste); // my textview
    txtcopypaste.setOnClickListener(new View.OnClickListener() { // set onclick listener to my textview
        @Override
        public void onClick(View view) {
            ClipboardManager cm = (ClipboardManager)getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);
            cm.setText(txtcopypaste.getText().toString());              
            Toast.makeText(getApplicationContext(), "Copied :)", Toast.LENGTH_SHORT).show();
        }
    });

Erfordernis : Sie müssen den Text kopieren und einfügen, der sich in der Textansicht befindet.

Ergebnis: Mit textview , sobald ich auf die Textansicht geklickt habe. Es wird automatisch der Text kopiert, der sich in der Textansicht befindet.

Notiz: Versuchen Sie beim Importieren von clipboardmanager zu bevorzugen

Bitte bevorzugen Sie den Text-Zwischenablage-Manager

import android.text.ClipboardManager; // prefer this 

versuchen Sie, den Inhalts-Zwischenablage-Manager zu vermeiden

import android.content.ClipboardManager; // Not this

1643089387 676 Wie aktiviere ich das standardmasige Kopieren und Einfugen fur eine
Bowdzone

  1. Thema verwenden

    @android:style/Theme.Black.NoTitleBar.Fullscreen
    

    oder

    @android:style/Theme.WithActionBar
    
  2. setze TextView in xml

    android:textIsSelectable="true"
    
  3. sehen Ergebnis

Wenn jemand die Extrameile gehen und mit einem Klick auswählen und in die Zwischenablage kopieren möchte:

 phone.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                            ClipData clip = ClipData.newPlainText("PhoneNumber", phone.getText());
                            clipboard.setPrimaryClip(clip);

                        }
                    });

Telefon ist das TextView und phone.Text ist der Text, der in die Zwischenablage kopiert wird.

.

628170cookie-checkWie aktiviere ich das standardmäßige Kopieren und Einfügen für eine TextView in Android?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy