2017-05-03 2 views
1

Ich habe eine Aktivität A mit einer ListView. Ich habe ein paar Sachen drin. Wenn ich in eines dieser Elemente klicke, navigiere ich mit Absicht zu einer anderen Seite. In dieser anderen Aktivität/Aktivität habe ich einen Spinner, der die Elemente der listView enthält (die mit der Datenbank gefüllt ist). Das Problem ist, jedes Mal, wenn ich zu dieser Aktivität B gehe, ist das im Spinner angezeigte Element immer das erste in meiner Datenbank. Wie kann ich das anzuzeigende Element abhängig von dem Element, auf das ich in der listView geklickt habe, festlegen?Set Auswahl am Anfang des Spinner mit SimpleCursoradapter

Hier ist, wie ich meine Spinner (Drop-Down-Modus) zu füllen:

spinner = (Spinner)findViewById(R.id.spinner_branches); 
    final Cursor cursor = dbhelper.getAllCours(); 
    String[] from = { "branche_cours" }; int[] to = { android.R.id.text1 }; 
    adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, from, to, 0); 
    spinner.setAdapter(adapter); 
    adapter.notifyDataSetChanged(); 

Wenn ich navigieren, übergeben i das ausgewählte Element mit der Absicht. Ich erinnere dich daran, dass mein listView die gleichen Gegenstände des Spinner enthält.

String selected_brancheold= intent.getExtras().getString("branche"); 

Danke Jungs!

Antwort

0

Sie können eine Sache tun, wenn Ihre ListView Liste und Spinner Liste beide gleich sind.

Aktivität A

Intent intent = new Intent(YOUR_CONTEXT, ActivityB.class); 
    intent.putExtra("position",PASS_CURRENT_POSITION_LISTVIEW_ITEM_CLICKED); 
    startActivity(intent); 

Aktivität B (Nach dem Spinner Adapter Einrichten)

int currentPosition = getIntent().getIntExtra("position",0); 
    spinner.setSelection(currentPosition); 

Hope this für Sie !!

+0

Danke, mein Herr! Es funktionierte ! Darf ich Ihnen noch eine Frage stellen: In Zukunft werde ich mehr Spinner verwenden. Wie kann ich am Anfang den Wert "Select One" setzen? Ich werde auch simplecursoradapter verwenden – David

+0

Happy to help !! Das scheint die neue Frage zu sein. Ich schlage vor, dass Sie eine separate Frage hinzufügen. –

+0

Ich sah jetzt beim Testen, dass es nicht korrekt ist .. Ich meine, jetzt gibt es immer den letzten Wert zurück, können Sie mir bitte helfen? Wie soll ich die Position auf meinem listView bekommen? – David

Verwandte Themen