AlertDialog mit Spinner

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

  • AlertDialog mit Spinner

    Hallo Leute!

    Ich habe derzeit eine App, wenn ich die das erste mal starte muß ich eine ID eingeben und dann kann ich mit der App weiterarbeiten.
    Das ganze habe ich jetzt über eine AlertDialog gelöst.

    Jetzt möche ich aber das in dem AlertDialog ein Auswahlfeld drinnen ist, wo alle ID´s vorgegeben sind zum Auswählen.
    Diese Werte stehen in der array.xml drinnen.

    Anbei mal der derzeitige Code denn ich habe:

    import android.app.Dialog;
    import android.content.Context;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;

    public class LoginDialog extends Dialog {

    public interface OnLoginDialogListener {
    public void onSubmit(int id);
    public void onCancel();
    }

    private OnLoginDialogListener loginListener;
    private EditText textId;
    private Button okButton;
    private Button cancelButton;

    public LoginDialog(Context context, OnLoginDialogListener okListener) {
    super(context);

    setContentView(R.layout.login);
    setTitle("Login");

    loginListener = okListener;
    textId = (EditText) findViewById(R.id.loginID);

    okButton = (Button) findViewById(R.id.loginButtonOk);
    okButton.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    loginListener.onSubmit(Integer.parseInt( textId.getText().toString() ));
    dismiss();
    }
    });


    cancelButton = (Button) findViewById(R.id.loginButtonCancel);
    cancelButton.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    loginListener.onCancel();
    dismiss();
    }
    });
    }
    }

    xml.Datei:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="300dip"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="10dip" >

    <EditText
    android:id="@+id/loginID"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:hint="Vertreter-ID"
    android:inputType="numberSigned"
    <Spinner
    android:id="@+id/Loginspinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

    <requestFocus />
    </EditText>

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dip"
    android:layout_marginTop="20dip"
    android:orientation="horizontal" >

    <Button
    android:id="@+id/loginButtonOk"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.5"
    android:onClick="onClick"
    android:text="Ok" />

    <Button
    android:id="@+id/loginButtonCancel"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.5"
    android:onClick="onClick"
    android:text="Cancel" />
    </LinearLayout>
    </LinearLayout>

    <string-array name="Vertreter_Nr">
    <item>910</item>
    <item>911</item>
    <item>912</item>
    <item>913</item>
    <item>916</item>
    <item>919</item>
    <item>920</item>
    <item>921</item>
    <item>924</item>
    <item>925</item>
    <item>926</item>
    <item>927</item>
    <item>928</item>
    <item>929</item>
    <item>931</item>
    <item>932</item>
    <item>933</item>
    <item>934</item>
    <item>935</item>
    <item>936</item>
    </string-array>

    Was muss ich tun damit ich jetzt hier den LoginSpinner mit den werten aus dem array.xml befüllen kann anstatt dem Textfeld!

    vielen Dank im voraus!

    lg
    Jörg
  • Hallo Titus!

    Vielen dank das wars, oft denkt man zu kompliziert!

    jetzt hab ich nur noch das Problem, wie ich den Spinner auslesen kann, komme da leider immer ein wenig mit den Datentypen durcheinander.

    Hab jetzt folgendes im Code geändert:

    private Spinner spinnerId;


    spinnerId = (Spinner) findViewById(R.id.loginID);


    public void onClick(View v) {
    //loginListener.onSubmit(Integer.parseInt( textId.getText().toString() ));

    loginListener.onSubmit(spinnerId);

    dismiss();
    }
    });

    Nur beim onClick, weis ich jetzt nich wie ich die Daten aus dem Spinner umformen ums!
    Kanns Du mir da noch mal kurz helfen?

    Vielen dank im Voraus!

    lg
    Jörg