Spinner Inhalt setzen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Spinner Inhalt setzen

    Hi
    ich bin ein totaler Anfänger.

    Ich würde gerne einen Spinner erstellen der sich nach der Auswahl aus einem anderen Spinner füllt.

    z.B.:

    erster Spinner:
    A-I
    J-O
    P-Z

    zweiter Spinner(für A-I):
    A
    B
    C
    D
    E
    F
    G
    H
    I

    zweiter Spinner für(J-O)
    J
    K
    L
    M
    N
    O


    Wie kann ich das machen?
  • Hallo,

    habe es grad mal ausprobiert. In der strings.xml habe ich folgende Arrays hinzugefügt:

    Quellcode

    1. <string-array name="range">
    2. <item>A - I</item>
    3. <item>J - O</item>
    4. <item>P - Z</item>
    5. </string-array>
    6. <string-array name="buchstaben1">
    7. <item>A</item>
    8. <item>B</item>
    9. <item>C</item>
    10. <item>D</item>
    11. <item>E</item>
    12. <item>F</item>
    13. <item>G</item>
    14. <item>H</item>
    15. <item>I</item>
    16. </string-array>
    17. <string-array name="buchstaben2">
    18. <item>J</item>
    19. <item>K</item>
    20. <item>L</item>
    21. <item>M</item>
    22. <item>N</item>
    23. <item>O</item>
    24. </string-array>
    25. <string-array name="buchstaben3">
    26. <item>P</item>
    27. <item>Q</item>
    28. <item>R</item>
    29. <item>S</item>
    30. <item>T</item>
    31. <item>U</item>
    32. <item>V</item>
    33. <item>W</item>
    34. <item>X</item>
    35. <item>Y</item>
    36. <item>Z</item>
    37. </string-array>
    Alles anzeigen


    Und meine Code dazu sieht wie folgt aus:

    Java-Quellcode

    1. import android.app.Activity;
    2. import android.os.Bundle;
    3. import android.view.View;
    4. import android.widget.AdapterView;
    5. import android.widget.ArrayAdapter;
    6. import android.widget.Spinner;
    7. import android.widget.AdapterView.OnItemSelectedListener;
    8. public class ButtontestActivity extends Activity {
    9. Spinner s2;
    10. ArrayAdapter a1,a2,a3;
    11. /** Called when the activity is first created. */
    12. @Override
    13. public void onCreate(Bundle savedInstanceState) {
    14. super.onCreate(savedInstanceState);
    15. setContentView(R.layout.main);
    16. Spinner s1= (Spinner) findViewById(R.id.spinner1);
    17. s2=(Spinner) findViewById(R.id.spinner2);
    18. //Adapter für spinner 1 vorbereiten und mit dem strinarray <range> füllen
    19. ArrayAdapter adapter = ArrayAdapter.createFromResource(
    20. this, R.array.range, android.R.layout.simple_spinner_item);
    21. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    22. s1.setAdapter(adapter);
    23. //3 Adapter für jeweiligen Buchstabenbereich erstellen
    24. a1 = ArrayAdapter.createFromResource(
    25. ButtontestActivity.this, R.array.buchstaben1, android.R.layout.simple_spinner_item);
    26. a1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    27. a2 = ArrayAdapter.createFromResource(
    28. ButtontestActivity.this, R.array.buchstaben2, android.R.layout.simple_spinner_item);
    29. a2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    30. a3 = ArrayAdapter.createFromResource(
    31. ButtontestActivity.this, R.array.buchstaben3, android.R.layout.simple_spinner_item);
    32. a3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    33. //Bei prog start ersten setzen da der erste Spinnner ja bei A-J startet
    34. s2.setAdapter(a1);
    35. //Listener für ersten spinner setzen
    36. s1.setOnItemSelectedListener(new MyOnItemSelectedListener());
    37. }
    38. public class MyOnItemSelectedListener implements OnItemSelectedListener {
    39. public void onItemSelected(AdapterView<?> parent,
    40. View view, int pos, long id) {
    41. //Je nach Auswahl des ersten Spinners wird der Adapter für den zweiten spinner gesetzt
    42. if(pos==0){
    43. s2.setAdapter(a1);
    44. }else if(pos==1){
    45. s2.setAdapter(a2);
    46. }else if(pos==2){
    47. s2.setAdapter(a3);
    48. }
    49. }
    50. public void onNothingSelected(AdapterView parent) {
    51. // Do nothing.
    52. }
    53. }
    54. }
    Alles anzeigen


    Das war es auch schon. Bei mir funktioniert es so.

    gruß joensen
  • Hallo,

    das geht in dem du unter res/values/ eine neue Datei erstellst , ich habe sie nun arrays.xml genannt. Und dort habe ich folgendes drin stehen:

    XML-Quellcode

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <resources>
    3. <string-array name="range">
    4. <item>A - I</item>
    5. <item>J - O</item>
    6. <item>P - Z</item>
    7. </string-array>
    8. <string-array name="buchstaben1">
    9. <item>A</item>
    10. <item>B</item>
    11. <item>C</item>
    12. <item>D</item>
    13. <item>E</item>
    14. <item>F</item>
    15. <item>G</item>
    16. <item>H</item>
    17. <item>I</item>
    18. </string-array>
    19. <string-array name="buchstaben2">
    20. <item>J</item>
    21. <item>K</item>
    22. <item>L</item>
    23. <item>M</item>
    24. <item>N</item>
    25. <item>O</item>
    26. </string-array>
    27. <string-array name="buchstaben3">
    28. <item>P</item>
    29. <item>Q</item>
    30. <item>R</item>
    31. <item>S</item>
    32. <item>T</item>
    33. <item>U</item>
    34. <item>V</item>
    35. <item>W</item>
    36. <item>X</item>
    37. <item>Y</item>
    38. <item>Z</item>
    39. </string-array>
    40. </resources>
    Alles anzeigen


    Das wäre es auch schon. Im Quellcode muss nix geändert werden.
  • Nochmals Danke. Es hat funktioniert.

    Jetzt müsste ich noch wissen, wie man aus einem EditText-Feld einen Gleitkommawert auslesen kann, um anschließend mit diesem zu rechnen und ihn in einem anderen EditText-Feld wieder auszugeben.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Kai2 ()