android Spinner funktioniert nicht

Diskutiere android Spinner funktioniert nicht im Mobile Geräte Forum; Mein Spinner zeigt zwar die WerteListe als DropDown an aber weder werden die Werte in den Textteil geschreiben noch wird der Listener...

  1. Joob
    Joob Mitglied
    Mein Spinner zeigt zwar die WerteListe als DropDown an aber weder werden die Werte in den Textteil geschreiben noch wird der Listener OnSelectedItem funktioniert nicht mehr.

    Ich bekomme keine Fehler, und habe keine Ahnung wo ich das anfassen soll !

    Code (Text):
    public ArrayList<A2100_spin_groups_fields> a2100_spin_groups_array = new ArrayList<A2100_spin_groups_fields>();
        A2100_spin_groups_fields_adapter spinGroupAdapter;

        TextView TFIDMember;
        EditText TFMemberName;
        CheckBox CBMemberAktiv;
        Spinner SPMemberGroup;

        String MemberID;
        String MemberName;
        String MemberAktiv;
        String MemberGroup;

        @Override
        protected void onCreate(Bundle savedInstanceState) {

            boolean varAktiv;

            super.onCreate(savedInstanceState);
            setContentView(R.layout.a2100_member_change);

            String method = "SPI";
            A2100_member_change.BGT2100 BGT2100 = new A2100_member_change.BGT2100(this);
            BGT2100.execute(method, MemberID, MemberName, MemberAktiv, MemberGroup);

            // Resources passed to adapter to get image
            Resources res = getResources();

            TFIDMember = (TextView) findViewById(R.id.A2100_IDMember);
            TFMemberName = (EditText) findViewById(R.id.A2100_MemberName);
            CBMemberAktiv = (CheckBox) findViewById(R.id.A2100_MemberAktiv);
            SPMemberGroup = (Spinner) findViewById(R.id.A2100_MemberGroup);

            // Create custom adapter object ( see below CustomAdapter.java )
            spinGroupAdapter = new A2100_spin_groups_fields_adapter(this, R.layout.a2100_spin_groups_rowlayout, a2100_spin_groups_array,res);

            // Set adapter to spinner
            SPMemberGroup.setAdapter(spinGroupAdapter);

            String[] TagToChange = getIntent().getExtras().getString("TagToChange").split(";");

            if(TagToChange[2].equals("0")) {varAktiv = false;} else {varAktiv = true;}

            if (TagToChange[0].equals("0"))
            {
                TFIDMember.setText(null);
                TFMemberName.setText(null);
                CBMemberAktiv.setChecked(false);
                SPMemberGroup.setSelection(0);
            } else
            {
                TFIDMember.setText(TagToChange[0]);
                TFMemberName.setText(TagToChange[1]);
                CBMemberAktiv.setChecked(varAktiv);
                SPMemberGroup.setSelection(0);
            }


            // Listener called when spinner item selected
           SPMemberGroup.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

                @Override
                public void onItemSelected(AdapterView<?> parentview, View v, int position, long id) {

                    // Get selected row data to show on screen
                    String GroupID    = ((TextView) v.findViewById(R.id.a2100spinGrp_GroupID)).getText().toString();
                    String GroupName = ((TextView) v.findViewById(R.id.a2100spinGrp_GroupName)).getText().toString();

                    String OutputMsg = "Selected Group : \n\n"+GroupID+"\n"+GroupName;
                    System.out.println("Group : " + GroupID);
                    Toast.makeText(getApplicationContext(),OutputMsg, Toast.LENGTH_LONG).show();
                }

                @Override
                public void onNothingSelected(AdapterView<?> parentView) {
                    System.out.println("bin dada ");
                }

            });


        }

    upload_2016-11-28_23-43-36.png
     
  2. Vielleicht hilft dir dieser Java-Kurs hier weiter --> (hier klicken)
  3. buggy84
    buggy84 Mitglied
    Ich hatte gestern ein ähnliches Problem - mit einer SeekBar. Kein Listener funktionierte. Erst nachdem ich die App von meinem Testgerät gelöscht hatte, Clean und Build erneut gemacht habe, lief es dann. Ich glaube mein Android Studio ist leicht verbuggt.
    Vielleicht hilft es Dir ja weiter.
     
  4. Robat
    Robat Bekanntes Mitglied
    Wenn sich die Auswahl des Spinners ändert, dann soll sich auch der Text in den beiden TextViews ändern, richtig?
    Dann musst du das deinem Spinner / den TextViews auch mitteilen.
    Momentan holst du dir nur die Werte aus den TextViews (die immer gleich sind) und speicherst sie ab.

    Je nach dem wie dein Item des Spinners aufgebaut ist, kannst du sowas machen:
    Code (Java):

    parent.getItemAtPosition(pos).getText(); // o. ä. Funktionen
     
     
  5. Joob
    Joob Mitglied
    an Buggy

    Hallo,

    Clean und Build habe ich schon gemacht.`Leider kein Erfolg.
    Ich würde jetzt ein neues Projekt beginnen und die Daten aus dem alten importieren. Das Manifest im aktuellen Projekt sieht auch etwas komisch aus.
    Gibts beim importieren was zu beachten ?
     
  6. Joob
    Joob Mitglied
    an Robat

    aber was sagst du dazu das er auf den Listener nicht reagiert, dort habe ich mit System.out... geprüft. Der Listener wird nicht aktiviert.
    Ansonsten Danke, das baue ich noch ein.
     
  7. buggy84
    buggy84 Mitglied
    Wie komisch sieht denn dein Manifest aus?
    Wenn Du alte Daten importierst, importierst Du zwangsläufig auch alle Fehler.
    Versuche mal bitte, einen weiteren Spinner zu implementieren, und füge dem auch den Listener hinzu. Prüfe, obs bei dem funktioniert.
    Weterhin kannst Du ja mal andere Listener implementieren. So schnell würde ich die Flinte nicht ins Korn werfen.

    Edit:
    Vielleicht bin ich blind, aber müsstest Du nicht
    Code (Text):
    .setDropDownViewResource
    auf Deinen Adapter anwenden?
     
    Zuletzt bearbeitet: 30. Nov. 2016
  8. Joob
    Joob Mitglied
    Das ist mein erstes Projekt, und ich habe da mehrfach Namen geändert dabei scheint im Manifest einiges durcheinander gekommen zu sein. Also ich hab dann heute mal alles neu gemacht, jede Activit angelegt, jede Klasse angelegt, alles per Hand angepaßt, und nun ist das was im Manifest steht auch wieder nachvollziehbar.
    Hier da du gefragt hast:
    Neu und gut:
    Code (Text):
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.traincounter.jupp.tc">

        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

        <application
            android:name=".Z_GlobalVars"
            android:allowBackup="true"
            android:icon="@mipmap/yorokobi_symbol_white"
            android:label="Yorokobi Training"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".A0000_login">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".A0100_base" />
            <activity android:name=".A1000_training_groups" />
            <activity android:name=".A2000_members" />
            <activity android:name=".A2100_member_change" />
            <activity android:name=".A3000_trainers" />
            <activity android:name=".A3100_trainer_change" />
            <activity android:name=".A4000_groups" />
            <activity android:name=".A4100_group_change" />
            <activity android:name=".A5000_report"></activity>
        </application>

    </manifest>
    alt und komisch:
    Code (Text):
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.traincounter.yorokobi.jupp.trainyorokobi"
      android:versionCode="1"
      android:versionName="1.0" >

      <uses-sdk
      android:minSdkVersion="18"
      android:targetSdkVersion="23" />

      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

      <application
      android:name="com.traincounter.yorokobi.jupp.trainyorokobi.Z_GlobalVars"
      android:allowBackup="true"
      android:icon="@mipmap/yorokobi_symbol_white"
      android:label="Yorokobi Training"
      android:supportsRtl="true"
      android:theme="@style/AppTheme" >
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A0000_login" >
      <intent-filter>
      <action android:name="android.intent.action.MAIN" />

      <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      </activity>
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A1100_booking" />
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A2000_members" />
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A3000_trainers" />
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A4000_groups" />
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A5000yorokobi_report" />
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A0100_base" />
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A1000_training_groups" />
      <!--
    ATTENTION: This was auto-generated to add Google Play services to your project for
      App Indexing.  See https://g.co/AppIndexing/AndroidStudio for more information.
      -->
      <meta-data
      android:name="com.google.android.gms.version"
      android:value="@integer/google_play_services_version" />

      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A2100_member_change" />
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A4100_group_change" />
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A3100_trainer_change" />
      <activity android:name="com.traincounter.yorokobi.jupp.trainyorokobi.A0000_spin_train_fields" />
      </application>

    </manifest>
    Allerdings liegt der Fehler in dem was Ihr sagt, das werde ich morgen Abend genau kontrollieren.
     
  9. buggy84
    buggy84 Mitglied
    Gibts Ergebnisse, die Du mit uns teilen möchtest?
     
  10. Joob
    Joob Mitglied
    Ich komm da nicht weiter,
    da sind aber noch andere Problem zu lösen, das mach ich erst mal und geh das ganze dann mit etwas Abstand neu an.
    Hast Du eine Idee. Ist doch komisch das nur der Texteil nicht funktioniert. Ich habe schon Stunden daran kontroliert und im Beispiell im Internet läuft das.
    Ich habe aber eine weiteres Spinner gebaut, das gleiche. Muss also definitiv ein Fehler in meinem Code sein.
     
  11. Robat
    Robat Bekanntes Mitglied
    Poste mal bitte alle relevanten Codeabschnitte.
    -Also wie / wo du den Spinner initialisierst.
    - Layout Datei(en)
    - (Manifest ist eher irrelevant afaik)
    - deinen Adapter!

    Was mich ein wenig wundert ist, dass du eine ArrayList a2100_spin_groups_array deklarierst aber niemals Werte setzt. Wo genau werden denn die Werte zu der ArrayList hinzugefügt?

    Off-Topic
    Würde dir raten mehr mit LogCat zuarbeiten anstatt mit Syso :)

    Gruß
     
Die Seite wird geladen...

android Spinner funktioniert nicht - Ähnliche Themen

Android: Spinner-Eintrag einen versteckten numerischen Wert zuordnen und Variable übergeben
Android: Spinner-Eintrag einen versteckten numerischen Wert zuordnen und Variable übergeben im Forum Java Basics - Anfänger-Themen
Android Daten online senden
Android Daten online senden im Forum Allgemeine Java-Themen
Android Programmierung speziell oder einfach Java Buch kaufen?
Android Programmierung speziell oder einfach Java Buch kaufen? im Forum Mobile Geräte
Pfeiltasten im Android Studio
Pfeiltasten im Android Studio im Forum Java Basics - Anfänger-Themen
AndroidStudio Projekt startet nicht mehr!!!
AndroidStudio Projekt startet nicht mehr!!! im Forum Java Basics - Anfänger-Themen
Thema: android Spinner funktioniert nicht