459 Stimmen

Wie kopiere ich Text in die Zwischenablage auf Android?

Kann mir bitte jemand sagen, wie ich den Text, der in einem bestimmten TextView enthalten ist, in die Zwischenablage kopieren kann, wenn eine Schaltfläche gedrückt wird?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainpage);
    textView = (TextView) findViewById(R.id.textview);
    copyText = (Button) findViewById(R.id.bCopy);
    copyText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO - generierter Methodenstub

            ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
            String getstring = textView.getText().toString();

            // Hilfe, um fortzufahren :)
        }
    });
}

Ich möchte den Text im TextView textView in die Zwischenablage kopieren, wenn die Schaltfläche bCopy gedrückt wird.

15voto

Ektos974 Punkte 988

Verwenden Sie dies einfach. Es funktioniert nur für Android API >= 11, davor müssen Sie ein ClipData verwenden.

ClipboardManager _clipboard = (ClipboardManager) _activity.getSystemService(Context.CLIPBOARD_SERVICE);
_clipboard.setText(IHR TEXT);

Ich hoffe, es hat dir geholfen :)

[UPDATE 19.03.2015] Genau wie Ujjwal Singh sagte, ist die Methode setText jetzt veraltet, Sie sollten, wie die Dokumentation es empfiehlt, setPrimaryClip(clipData) verwenden.

14voto

Nikhil Katekhaye Punkte 1842

Dies kann in Kotlin wie folgt gemacht werden:

var clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
var clip = ClipData.newPlainText("label", file.readText())
clipboard.setPrimaryClip = clip

Wo file.readText() dein Eingabestring ist.

12voto

Merthan Erdem Punkte 4752

Kotlin-Erweiterungsfunktion 2021:

fun Context.copyToClipboard(text: CharSequence){
    val clipboard = ContextCompat.getSystemService(this,ClipboardManager::class.java)
    clipboard?.setPrimaryClip(ClipData.newPlainText("",text))
}

8voto

SKG Punkte 346

Verwenden Sie diesen Code

   private ClipboardManager myClipboard;
   private ClipData myClip;
   TextView textView;
   Button copyText;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainpage);
    textView = (TextView) findViewById(R.id.textview);
    copyText = (Button) findViewById(R.id.bCopy);
    myClipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);

    copyText.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

           String text = textView.getText().toString();
           myClip = ClipData.newPlainText("text", text);
           myClipboard.setPrimaryClip(myClip);
           Toast.makeText(getApplicationContext(), "Text Copied", 
           Toast.LENGTH_SHORT).show(); 
        }
    });
}

7voto

Vimal Gajera Punkte 497

Verwenden Sie diese Funktion, um in die Zwischenablage zu kopieren

public void copyToClipboard(String copyText) {
    int sdk = android.os.Build.VERSION.SDK_INT;
    if (sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
        android.text.ClipboardManager clipboard = (android.text.ClipboardManager)
                getSystemService(Context.CLIPBOARD_SERVICE);
        clipboard.setText(copyText);
    } else {
        android.content.ClipboardManager clipboard = (android.content.ClipboardManager)
                getSystemService(Context.CLIPBOARD_SERVICE);
        android.content.ClipData clip = android.content.ClipData
                .newPlainText("Ihr OTP", copyText);
        clipboard.setPrimaryClip(clip);
    }
    Toast toast = Toast.makeText(getApplicationContext(),
            "Ihr OTP wurde kopiert", Toast.LENGTH_SHORT);
    toast.setGravity(Gravity.BOTTOM | Gravity.RIGHT, 50, 50);
    toast.show();
    //displayAlert("Ihr OTP wurde kopiert");
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X