L
Lillitopf
Neues Mitglied
- 0
Hallo,
Ich bin noch ziemlich neu im Android programmieren uns steh grad voll an, evtl. könnt ihr mir hier helfen.
Folgender Code um es zu verdeutlichen:
Ich will also die Methode ControlAcitivity.startStopSauna() von BroadcastReceiver aus ausführen als wäre BroadcastReceiver der User und würde den Button in der ControlActivity drücken.
ControlActivity.class
TextMessageReceiver.class
Meine frage daher. Muss ich somit alle Methoden die von startStopSauna() aus aufgerufen werden, public static definieren oder gibt es einen vernünftigeren Weg?
Vielen Dank schon mal fürs Kopfzerbrechen
Ich bin noch ziemlich neu im Android programmieren uns steh grad voll an, evtl. könnt ihr mir hier helfen.
Folgender Code um es zu verdeutlichen:
Ich will also die Methode ControlAcitivity.startStopSauna() von BroadcastReceiver aus ausführen als wäre BroadcastReceiver der User und würde den Button in der ControlActivity drücken.
ControlActivity.class
Code:
public class ControlActivity extends Fragment {
private static View rootView;
public static Boolean BUTTON_SAUNA = false;
public void startStopSauna() {
if (!BUTTON_SAUNA) {
BUTTON_SAUNA = true;
setButtonStatus("button_sauna", true);
} else {
BUTTON_SAUNA = false;
setButtonStatus("button_sauna", false);
}
}
private void setButtonStatus(String button, Boolean buttonStatus) {
if (buttonStatus == null) getControlPreferences();
if (BUTTON_SAUNA) {
((ImageView) rootView.findViewById(R.id.btn_sauna_led)).setImageResource(R.drawable.btn_led_on);
((TextView) rootView.findViewById(R.id.tv_sauna_title)).setText(getString(R.string.btn_sauna_title_h1_2));
showWellnessButtons();
} else {
((ImageView) rootView.findViewById(R.id.btn_sauna_led)).setImageResource(R.drawable.btn_led_off);
((TextView) rootView.findViewById(R.id.tv_sauna_title)).setText(getString(R.string.btn_sauna_title_h1_1));
hideWellnessButtons();
}
if (buttonStatus != null) setControlPreferences(button, buttonStatus);
}
}
TextMessageReceiver.class
Code:
public class TextMessageReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Bundle bundle=intent.getExtras();
...
if (message.toString().equals("Saunaein")) {
ControlActivity.startStopSauna(); // fehler da nicht static
}
...
}
}
Meine frage daher. Muss ich somit alle Methoden die von startStopSauna() aus aufgerufen werden, public static definieren oder gibt es einen vernünftigeren Weg?
Vielen Dank schon mal fürs Kopfzerbrechen