A
AquaBall
Fortgeschrittenes Mitglied
- 2
In meinem Programm gibt es ein OptionenMenü (mit dem technische Einheiten festgelegt werden):
Zusätzlich gibt es ein Activity das Berechnungen durchführt, (abhängig von den obigen Einheiten).
Mir gelingen zwar Listener in der selben Activity problemlos, aber:
Wie erkennt meine Rechnungs-Activity, wenn im Optionen Menü M_Einstellungen etwas geändert wird?
Wie kann ein Listener im Optionen Menü eine andere Activity/Layout/Programm informieren?
Code:
public class M_Einstellungen extends PreferenceActivity
implements OnSharedPreferenceChangeListener {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.m_einstellungen);
}
// ...
public void onSharedPreferenceChanged(SharedPreferences sPref, String key) {
ListPreference lp = (ListPreference)getPreferenceScreen()
.findPreference(key);
lp.setSummary("... wird berechnet in: " + sPref.getString(key, ""));
}
}
Code:
public class Rechnungen extends Activity {
// ...
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rechnungen);
// TemperaturEinheit einstellen:
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
((TextView) findViewById(R.id.ehTemp)).setText(sharedPreferences
.getString(getBaseContext().getString(R.string.keyTemp),"??"));
// Berechnungen + Ausgabe ... über diverse TextWatcher ...
}
@Override public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.optionen, menu);
return true;
}
@Override public boolean onOptionsItemSelected(MenuItem item){
Intent intent;
switch (item.getItemId()) {
case R.id.m_einstellungen:
intent = new Intent( this, M_Einstellungen.class );
startActivity(intent);
break;
}
}
// div TextWatcher ...
}
Wie erkennt meine Rechnungs-Activity, wenn im Optionen Menü M_Einstellungen etwas geändert wird?
Wie kann ein Listener im Optionen Menü eine andere Activity/Layout/Programm informieren?