Dem ListAdapter den Aufrufer mitgeben

D

Duckemai

Fortgeschrittenes Mitglied
6
Hallo zusammen,

ich stehe momentan etwas im Regen. Dabei sollte das Problem beherrschbar sein. Vielleicht kann mir hier jemand behilflich sein? Folgendes habe ich vor. Ich habe zwei Preference-Button:

<Preference
android:id="@+id/newRingtone"
android:title="Neuer Klingelton"
android:summary="Treffe eine Auswahl"
android:key="customPref_ring" />
<Preference
android:id="@+id/newNotification"
android:title="Neuer Notificationton"
android:summary="Treffe eine Auswahl"
android:key="customPref_notif" />

Der erste öffnet durch Betätigen die Klasse MyList extends ListActivity mit einem ListAdapter. Diese Klasse gibt eine Liste von Klingeltönen aus, die man auswählen kann und auch in dieser Klasse im System abgespeichert werden.

Nun würde ich aber gerne mit der selben Klasse MyList auch Notifications verarbeiten, also über den 2ten Button. Dafür müsste ich aber der Klasse MyList sagen können, ob sie vom Button newRingtone oder newNotification aufgerufen wurde.

Der Aufruf sieht nahezu gleich aus:

newRingtone.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
Intent i = new Intent(getBaseContext(), MyList.class);
startActivity(i);
return true;
}
});

newNotification.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
Intent i = new Intent(getBaseContext(), MyList.class);
startActivity(i);
return true;
}
});

Jemand eine Idee, wie ich das bewerkstelligen kann?

Vieeelen Dank!
 
Zuletzt bearbeitet:
Erstelle den ListAdapter vorher und hau da die entsprechenden Einträge rein, dann kannste das im Intent übergeben.
 
  • Danke
Reaktionen: Duckemai
Bin mir nicht ganz klar was du meinst. Der ListAdapter hat ja immer die gleichen Einträge, die nur jeweils zu anderen Zwecken genutzt werden. Aber ich habe auch so noch was gefunden. Ich weiß zwar nicht ob es "elegant" ist, aber: 'Wenns schön macht...'

Intent i = new Intent(/**this*/getBaseContext(), MyList.class);
id_putExtra = "ringtones";
i.putExtra("KindOfSound", id_putExtra );
startActivity(i);

Damit klappt es. Ich kann in MyList diesen Wert mit
soundErkennung = getIntent().getExtras().getString("KindOfSound");
auslesen.

Falls jemand eine schönere Lösung hat...immer her damit.

Danke.
 

Ähnliche Themen

Helmut1A
  • Helmut1A
Antworten
7
Aufrufe
1.114
Helmut1A
Helmut1A
D
Antworten
3
Aufrufe
438
jogimuc
J
J
Antworten
5
Aufrufe
913
swa00
swa00
Zurück
Oben Unten