Spinner nach wechsel von activity leer

P

Pluto1917

Neues Mitglied
1
Hallo,

ich plage mich schon länger mit einem, sicher für einen Kenner sehr einfachen Problem herum.

Ich habe einen Spinner gefüllt mit Daten einer Datenbank ( SQLite ) in der MainActivity.
Wechsel ich in eine andere Activity und dann wieder zurück, ist der ausgewählte Wert nicht mehr gesetzt ( sondern der Startwert ).

Wie bekomme ich es hin die Einstellung zu behalten?

Code:
  @Override
  protected void onResume() {
      // TODO Auto-generated method stub
          super.onResume();

    LoadNWerkstoffSpinner();
      nWerkstoff.setSelection(nWerkstoffNummer);
      
  }



public void LoadNWerkstoffSpinner()
  {
    myDB = this.openOrCreateDatabase(MY_DATABASE_NAME, MODE_PRIVATE, null);

    Cursor c = myDB.rawQuery(
            "SELECT _id, Benennung1 FROM Werkstoff", null);
    startManagingCursor(c);

    c.moveToFirst();

    SimpleCursorAdapter spinadapter = new SimpleCursorAdapter(this,
            android.R.layout.simple_spinner_item, c,
            new String[] { "Benennung1" }, new int[] { android.R.id.text1 });

    spinadapter
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    nWerkstoff.setAdapter(spinadapter);

    //c.close();
    //myDB.close();
  }

  public class MyOnItemSelectedNabenwerkstoffListener
      implements AdapterView.OnItemSelectedListener
    {

    public MyOnItemSelectedNabenwerkstoffListener()
      {
      }

      public void onItemSelected(AdapterView<?> paramAdapterView, View paramView, int paramInt, long paramLong)
      {
        werkstoff_Auslesen(paramInt, "Nabe");
        Berechnen();
        setnWerkstoffNummer(paramInt); // Werkstoffauswahl merken
      }

      public void onNothingSelected(AdapterView<?> paramAdapterView)
      {
      }
    }

Im LogCat sehe ich auch immer den Fehler "Cursor Invalid statement in fillWindow()"
 
Zuletzt bearbeitet:
So wie ich das sehe rufst du die Befüllung des Spinners über onResume() auf.

Das heißt, sobald die Anwendug wieder in den Vordergrund kommt setzt sie alles neu.
Versuche den Aufruf des Voids mal in onCreate zu verlagern.

Gruß
Xilent
 
Hi Xilent

SUUUPER Idee, die hatte ich auch schon und funktioniert auch!

Nur dass ich dann dusseligerweise myDB.close() verwendet habe.
Und damit fing das Suchen an.

Für mich scheint mit Deiner Lösung heute die Sonne.

Besten Dank nochmal!
 

Ähnliche Themen

5
Antworten
22
Aufrufe
1.421
590239
5
S
Antworten
17
Aufrufe
554
jogimuc
J
M
  • maksimilian
Antworten
15
Aufrufe
1.701
maksimilian
M
Zurück
Oben Unten