! Хорошие!
Прежде всего, я хочу довести до сведения, что уже я прочитал несколько вопросов / ответов форума, и ни одна не осветляет мою проблему.
Я заканчиваю маленький проект, который является APP, которая производит пароли случайным образом. Проблема, - когда я хочу скопировать пароль, хранившийся в одном textView
в пюпитре в виде дощечки с зажимом.
С этим кодом меня сохраняет текст, когда я поддерживаю это нажатым:
public void copiar(View view) {
if(etiqueta.getText().equals("")) {
Toast.makeText(this, "No hay contraseña para copiar", Toast.LENGTH_SHORT).show();
} else {
etiqueta.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// obtenemos el texto de entrada
String text = etiqueta.getText().toString();
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("", text);
clipboard.setPrimaryClip(clip);
return true;
}
});
Toast.makeText(this, "Contraseña copiada al portapapeles", Toast.LENGTH_SHORT).show();
}
}
Но он не бросает этот:
Toast.makeText(this, "Contraseña copiada al portapapeles", Toast.LENGTH_SHORT).show();
Идея состоит в том, чтобы, когда пользователь нажмет и не поддержит нажатым текст, он был скопирован в пюпитр в виде дощечки с зажимом и покажет:
Toast.makeText(this, "Contraseña copiada al portapapeles", Toast.LENGTH_SHORT).show();
И когда между в условном, который выравнивает пустую цепь, он отпустит этот другой (не копируя ничего):
Toast.makeText(this, "No hay contraseña para copiar", Toast.LENGTH_SHORT).show();
Я оставляю также часть XML:
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/milabel"
android:clickable="true"
android:onClick="copiar"
android:gravity="center_horizontal|center_vertical"
android:textAlignment="gravity"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.238" />
Так что: Как я могу способствовать тому, чтобы пользователь нажал и скопировал пароль в пюпитр в виде дощечки с зажимом? И покажите Toast.makeText
.
Спасибо заранее.
Уже это resolvГ-.
Благодаря Комментарию @armen , intentГ© это:
etiqueta.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if(!etiqueta.getText().equals("")) {
String text = etiqueta.getText().toString();
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("", text);
clipboard.setPrimaryClip(clip);
Toast.makeText(getApplicationContext(), "Contraseña copiada al portapapeles", Toast.LENGTH_SHORT).show();
}
return true;
}
});
С только парой изменений, чтобы точно подходить cГіdigo в мою необходимость, и уже функционируй в нее perfecciГіn. Я оставляю ответ, если кто-то нуждается в помощи с самим.