In MainActivity ho un TextView: textV1. Ho anche un metodo in MainActivity che aggiorna che TextView:Android BroadcastReceiver onReceive Aggiorna TextView in MainActivity
public void updateTheTextView(final String t) {
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
TextView textV1 = (TextView) findViewById(R.id.textV1);
textV1.setText(t);
}
});
}
In un BroadcasrReceiver ho bisogno di aggiornare il testo in textV1 in MainActivity.
public class NotifAlarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// other things done here like notification
// NEED TO UPDATE TEXTV1 IN MAINACTIVITY HERE
}
}
Come può essere fatto? BroadcastReceiver viene eseguito da un servizio. Questo codice non posso cambiare. Posso accedere e modificare textV1 in MainActivity da onReceive()? Ho provato molte cose ma tutte falliscono.
Basta prendere una corda statica e quindi conservare questo il risultato di textview e l'accesso in questa classe. – InnocentKiller
Grazie per la risposta InnocentKiller. Scusa, non sono sicuro di cosa intendi. Puoi spiegare per favore? Apprezzo l'aiuto. – user3499199
Dichiarare una variabile di stringa statica all'interno di MainActivity e quindi memorizzare il valore della propria vista testo all'interno di quella stringa e quindi è possibile utilizzare tale stringa in qualsiasi classe. – InnocentKiller