Come posso modificare il testo di un widget di pulsante Android all'interno del codice e non il file XML?Widget Android: come modificare il testo di un pulsante
risposta
sono stato in grado di cambiare il testo del pulsante in questo modo:
import android.widget.RemoteViews;
//grab the layout, then set the text of the Button called R.id.Counter:
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.my_layout);
remoteViews.setTextViewText(R.id.Counter, "Set button text here");
È possibile utilizzare il metodo setText()
. Esempio:
import android.widget.Button;
Button p1_button = (Button)findViewById(R.id.Player1);
p1_button.setText("Some text");
Inoltre, proprio come un punto di riferimento, Button estende TextView, quindi, perché è possibile utilizzare setText()
proprio come con un TextView ordinario.
Ma su un widget findViewById non esiste – Skatephone
@Skatephone: sarà più facile aiutarti se pubblichi un po 'di codice, quindi. Detto questo, la classe 'RemoteViews' ha un metodo' setTextViewText() '. Ti suggerisco di dare un'occhiata a questo: http://developer.android.com/reference/android/widget/RemoteViews.html#setTextViewText%28int,%20java.lang.CharSequence%29 – eldarerathis
@Skatephone: non dovresti chiama findViewById su un widget, ma su un'attività o su una vista. – benvd
ho avuto un pulsante nel mio layout.xml che è stato definito come una vista come in:
final View myButton = findViewById(R.id.button1);
non ero in grado di cambiare il testo su di esso fino a quando ho anche definito come un pulsante:
final View vButton = findViewById(R.id.button1);
final Button bButton = (Button) findViewById(R.id.button1);
Quando ho avuto bisogno di modificare il testo, ho usato il bButton.setText("Some Text");
e quando ho voluto modificare la vista, ho usato il vButton.
Ha funzionato alla grande!
Questo può essere fuori tema, ma per coloro che stanno lottando su come cambiare esattamente anche il carattere del testo del pulsante (che era il mio caso e la risposta di Skatephone mi ha aiutato) ecco come l'ho fatto (se hai fatto bottoni ind modalità di progettazione):
in primo luogo abbiamo bisogno di avere il nome della stringa del pulsante "convertiti" (è un modo fallo da spiegare, ma semplice) in java dal xml, e così abbiamo incollare il codice citato nella nostra MainActivity.java
IMPORTANTE! posiziona il codice sotto il metodo OnCreate!
import android.widget.RemoteViews;
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.my_layout);
remoteViews.setTextViewText(R.id.Counter, "Set button text here");
Tenete a mente:
my_layout
deve essere sostituito con il file XML in cui i pulsanti sono
Counter
deve essere sostituito con il nome id del pulsante ("@+id/ButtonName"
)
se si desidera modificare il testo del pulsante è sufficiente inserire il testo al posto di "Set button text here"
ecco che arriva la parte in cui si modifica il tipo di carattere:
Ora che "convertiti" da XML a Java, è possibile impostare un carattere tipografico metodo per TextView.Incollare il seguente codice esattamente sotto il precedente appena descritto sopra
TextView txt = (TextView) findViewById(R.id.text_your_text_view_id);
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/MyFontName.ttf");
txt.setTypeface(font);
dove al posto di text_your_text_view_id
si mette il nome identificativo del tuo tasto (come il codice precedente) e al posto di MyFontName.ttf
si mette il font desiderato
ATTENZIONE! Questo presuppone che tu abbia già inserito il font desiderato nella cartella assets/font. per esempio. assets/fonts/MyFontName.ttf
utilizzare lo scambio utilizzando java. setText = "...", per la classe java ci sono molti altri metodi per l'implementazione.
//button fechar
btnclose.setEnabled(false);
btnclose.setText("FECHADO");
View.OnClickListener close = new View.OnClickListener() {
@Override
public void onClick(View view) {
if (btnclose.isClickable()) {
btnOpen.setEnabled(true);
btnOpen.setText("ABRIR");
btnclose.setEnabled(false);
btnclose.setText("FECHADO");
} else {
btnOpen.setEnabled(false);
btnOpen.setText("ABERTO");
btnclose.setEnabled(true);
btnclose.setText("FECHAR");
}
Toast.makeText(getActivity(), "FECHADO", Toast.LENGTH_SHORT).show();
}
};
btnclose.setOnClickListener(close);
questo è molto facile
Button btn = (Button) findViewById(R.id.btn);
btn.setText("MyText");
- 1. Ottieni il testo di un widget di pulsante
- 2. Come evidenziare il testo in un widget di testo tkinter
- 3. Modificare dinamicamente il testo di notifica Android
- 4. Come modificare il testo del pulsante Indietro di uinavigationbar
- 5. come modificare il testo Android SearchView
- 6. UIActivityViewController - come modificare il testo del pulsante di annullamento
- 7. Come impostare il testo sulla vista testo di un widget
- 8. Come recuperare testo dalla casella di testo nel widget Android?
- 9. Come modificare il testo del pulsante in Swift Xcode 6?
- 10. Come aggiungere un testo sotto il pulsante immagine in Android?
- 11. Sinistra allinea il testo all'interno di un pulsante in Android
- 12. click listener su widget Android Pulsante
- 13. Come modificare il colore del testo di un Android ToogleButton sul cambio di stato?
- 14. Avvia il widget Android dall'attività
- 15. Evento clic sul pulsante per il widget Android
- 16. Android: Come modificare il colore del testo di ProgressDialog?
- 17. Come creare un pulsante usando il widget tkinter Canvas?
- 18. Impossibile modificare il colore del pulsante di scelta su Android
- 19. Nascondi il testo su un pulsante in Android?
- 20. TabHost - come modificare il testo della scheda in XML
- 21. Impossibile modificare il testo del pulsante in HTML e JavaScript
- 22. Ottenere il testo all'interno di un pulsante
- 23. Android: pulsante Modifica testo Vai
- 24. Android: utilizzando l'immagine anziché il testo su un pulsante
- 25. Come modificare il testo in EditText verticalmente (Android)
- 26. Come modificare lo sfondo di un widget genitore quando è attivo un widget figlio?
- 27. allineamento testo fine pulsante Android
- 28. Come sottolineare il testo del pulsante in Android?
- 29. Come modificare il testo dell'etichetta di ActiveField?
- 30. Xpath per il pulsante di avere il testo come 'Nuovo'
'((android.widget.Button) findViewById (R.id.epic_button)) setText ("myTitle");.' –
findViewById non funziona per widgets! Questo metodo non è supportato nei widget. – coolcool1994
Funziona. Assicurati di aggiungere "import android.widget.View;" nella parte superiore del tuo file java. Se si aggiunge anche 'import android.widget.Button;', può essere abbreviato in: '((Pulsante) findViewById (R.id.yourButtonName)). SetText (" Nuovo testo ");' –