zauber3r
zauber3r

Reputation: 95

2 dynmically created spinners -> but only 1 onItemSelected

i got 2 dynamically created spinners in 1 Activity.

private void populateSpinner() {
    AlertDialog.Builder adb2 = new AlertDialog.Builder(this);
    LayoutInflater adbInflater2 = LayoutInflater.from(this);
    View SpinnerLayout = adbInflater2.inflate(R.layout.spinner, null);
    adb2.setView(SpinnerLayout);
    adb2.setTitle("Kostenstelle auswählen:");
    spinnerKOST = (Spinner) SpinnerLayout.findViewById(R.id.spinner);
    List<String> lables = new ArrayList<String>();
    lables.add("");
    spinnerKOST.setSelection(1, false);
    for (int i = 0; i < KostList.size(); i++) {
        lables.add(KostList.get(i).getKost());
    }
    ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>
    (this,android.R.layout.simple_spinner_dropdown_item, lables);
    spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    // attaching data adapter to spinner
    spinnerKOST.setAdapter(spinnerAdapter);
    // use .create to get the AlertDialog 
    AlertDialog dialog =  adb2.create();
    // set an OnShowListener
    dialog.setOnShowListener(new DialogInterface.OnShowListener() {
        public void onShow(DialogInterface dialog) {
            spinnerKOST.setOnItemSelectedListener(StaffActivity.this);

        }
    });
    dialog.show();       
}

and the second:

private void populateSpinner2() {
    AlertDialog.Builder adb2 = new AlertDialog.Builder(this);
    LayoutInflater adbInflater2 = LayoutInflater.from(this);
    View SpinnerLayout = adbInflater2.inflate(R.layout.spinner, null);
    adb2.setView(SpinnerLayout);
    adb2.setTitle("Box auswählen:");
    spinnerBox = (Spinner) SpinnerLayout.findViewById(R.id.spinner);
    List<String> lables = new ArrayList<String>();
    lables.add("");
    spinnerBox.setSelection(1, false);
    for (int i = 0; i < BoxesList.size(); i++) {
        lables.add(BoxesList.get(i).getBoxer_mail());
    }
    ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>
    (this,android.R.layout.simple_spinner_dropdown_item, lables);
    spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerBox.setAdapter(spinnerAdapter);
    AlertDialog dialog =  adb2.create();
    dialog.setOnShowListener(new DialogInterface.OnShowListener() {
        public void onShow(DialogInterface dialog) {
            spinnerBox.setOnItemSelectedListener((OnItemSelectedListener) StaffActivity.this);

        }
    });
    dialog.show();       
}

they are pretty the same, as you see.

Normally I use for every spinner 1 public void onItemSelected(AdapterView<?> parent, View view, int position, long id)

Before I only had 1 Spinner per Activity and 1 public void onItemSelected. Now I got 2 Spinner in the Activity but still 1 public void onItemSelected.

How I can use both spinners?

Upvotes: 0

Views: 57

Answers (1)

Kunu
Kunu

Reputation: 5134

Use two spinner and toggle view viible and invisible between them

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

 Spinner spinner = (Spinner) parent;
 if(spinner.getId() == R.id.spinner1)
 {
      //spinner1            
 }
 else if(spinner.getId() == R.id.spinner2)
 {
      //spinner2
 }

}

Upvotes: 1

Related Questions