1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Dem ListAdapter den Aufrufer mitgeben

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Duckemai, 10.12.2010.

  1. Duckemai, 10.12.2010 #1
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    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: 10.12.2010
  2. the_alien, 10.12.2010 #2
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Erstelle den ListAdapter vorher und hau da die entsprechenden Einträge rein, dann kannste das im Intent übergeben.
     
    Duckemai bedankt sich.
  3. Duckemai, 10.12.2010 #3
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    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.
     

Diese Seite empfehlen