1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Murbertus, 03.01.2012 #1
    Murbertus

    Murbertus Threadstarter Junior Mitglied

    Hallo!

    Ich beschäftige mich gerade mit Spinner und habe dazu eine Frage:

    In der Activity habe ich folgendes stehen:

    Code:
    spMain = (Spinner) findViewById(R.id.spMain);
            	ArrayAdapter adapter = ArrayAdapter.createFromResource( this, R.array.mainSpinnerValues , android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            	spMain.setAdapter(adapter);
    
    public void OnItemSelected (AdapterView<?> parent, View view, int pos, long id) 
        {
    				
    			
    	      
        }
    	
    	public void onNothingSelected(AdapterView parent) 
        {
          // Do nothing.
        }
    arrays.xml:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        
        <string-array name = "mainSpinnerValues">
        	
        	<item>Crypt</item>
        	<item>Settings</item>
        	
        </string-array>	
        
    </resources>
    
    main.xml:

    Code:
    <Spinner
            android:id="@+id/spMain"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:prompt="@string/chooseView" />
    Jetzt möchte ich, wenn man 'Crypt' auswählt, in die Crypt-Activity wechseln. Über einen Button klappt das auch ohne Probleme:

    Code:
    Intent intent = new Intent(MainActivity.this, CryptActivity.class);
    				startActivity(intent);
    Aber wie mache ich das jetzt mit dem Spinner? Der Code dazu müsste irgendwie in public void OnItemSelected, aber wie muss das dann aussehen? Das Spinner-Beispiel mit den Planeten auf d.android.com bringt mich nicht wirklich weiter. Geht das irgendwie über switch case?

    Vielen Dank schonmal im Voraus!
     
  2. swordi, 03.01.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    du musst deinem spinner einen onItemChangedListener geben.

    kann sein, dass er onItemSelectedListener heißt. aber sowas in der art
     
    Murbertus gefällt das.
  3. Murbertus, 04.01.2012 #3
    Murbertus

    Murbertus Threadstarter Junior Mitglied

    Das habe ich hier gefunden: android - How to get Spinner value? - Stack Overflow

    Code:
    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
            // your code here
        }
    
        @Override
        public void onNothingSelected(AdapterView<?> parentView) {
            // your code here
        }
    
    });
    Aber wie frage ich genau ab, was der User gewählt hat? Das kommt ons onItemSelected, aber wie soll das dann aussehen? Über eine if-Abfrage?
     
  4. swordi, 04.01.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    naja du hast in der onItemSelected ja einen paramter der sich position nennt.

    somit weißt du ja welches element geklickt wurde. hast den spinner ja auch mit daten gefüllt.
     
    Murbertus gefällt das.
  5. Murbertus, 04.01.2012 #5
    Murbertus

    Murbertus Threadstarter Junior Mitglied

    Ok, also so ?

    if (position == 0)
    {
    //zu Activity x wechseln
    }

    bzw.

    if (pos == 1)
    {
    //zu Activity y wechseln
    }
     
  6. Murbertus, 04.01.2012 #6
    Murbertus

    Murbertus Threadstarter Junior Mitglied

    Sorry für den Doppelpost, aber es hat tatsächlich so funktioniert. :)

    EIne letzte Frage noch: wenn ich dieApp öffne, wählt er sofort den ersten Wert des Spinners. Kann man das noch irgendwie ausstellen?
     
  7. Tom299, 05.01.2012 #7
    Tom299

    Tom299 Android-Experte

    Du kannst z.B. nen Leereintrag oder Infoeintrag reinmachen, damit der Benutzer zuerst einen anderen Eintrag wählen muß, damit was passiert.
     
    Murbertus gefällt das.
  8. Murbertus, 05.01.2012 #8
    Murbertus

    Murbertus Threadstarter Junior Mitglied

    Danke @Tom, genau das habe ich gemacht, jetzt funktioniert es so, wie es soll. :)

    Vielen Dank für eure Hilfe!!
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Frage zum Einsatz von Qualifiers für die dimens.xml Android App Entwicklung 30.08.2017
[ERLEDIGT] Fragen zur Play Developer Console, wie Steuern etc. Android App Entwicklung 29.08.2017
[ERLEDIGT] Fragen zum Einstieg in APP-Entwicklung Android App Entwicklung 01.08.2017
[ERLEDIGT] Frage zu Datenschutz bei Appveröffentlichung Android App Entwicklung 31.07.2017
[ERLEDIGT] Frage zu den drawable-Ordnern Android App Entwicklung 20.05.2017
[ERLEDIGT] Spinner feste double Werte zuordnen Android App Entwicklung 24.04.2017
Und täglich grüßt die Quiz-App Frage (Vorgehensweise zur AppEntwicklung) Android App Entwicklung 15.02.2017
Frage zu Rekursives Ordner kopieren Android App Entwicklung 07.02.2017
Ein paar Fragen zu Permissions... Android App Entwicklung 18.01.2017
Eine Frage zum Aufbau. Android App Entwicklung 20.12.2016
Du betrachtest das Thema "Spinner-Frage" im Forum "Android App Entwicklung",