1

I have 4 Spinners and 1 Button in Activity A. I am using that Button to open another Activity B. Now I want to show the selected Spinners information in Activity B. I know how to pass data from EditText but I don't know with Spinners.

Please help me to receive Spinners information from another Activity

public class MainActivity extends ActionBarActivity {

private Button btn;
private Spinner spin1;
private Spinner spin2;
private Spinner spin3;
private Spinner spin4;


public class SpinnersData implements Serializable
{
    private String spinner1;
    private String spinner2;
    private String spinner3;
    private String spinner4;


     public String getSpinner1()
    {
        return spinner1;
    }
    public void setSpinner1(String spinner1)
    {
        this.spinner1 = spinner1;
    }
    public String getSpinner2()
    {
        return spinner2;
    }
    public void setSpinner2(String spinner2)
    {
        this.spinner2 = spinner2;
    }
    public String getSpinner3()
    {
        return spinner3;
    }
    public void setSpinner3(String spinner3)
    {
        this.spinner3 = spinner3;
    }
    public String getSpinner4()
    {
        return spinner4;
    }
    public void setSpinner4(String spinner10)
    {
        this.spinner4 = spinner4;
    }
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btn= (Button)findViewById(R.id.button1);
    spin1=(Spinner)findViewById(R.id.spinner1);
    final String arr1[] = {"NONE"," 1*£5.49","2*2.00","3*4.00"};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line, arr1);
    spin1.setAdapter(adapter);
    spin1.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            // TODO Auto-generated method stub
            Toast.makeText(MainActivity.this, "the item selected "+arr1[arg2],Toast.LENGTH_SHORT).show();

        }

        @Override
public void onNothingSelected(AdapterView<?> arg0) {
             //TODO Auto-generated method stub

        }
    });
    spin1=(Spinner)findViewById(R.id.spinner1);
    final String arr2[] = {"NONE"," 1*£5.49","2*2.00","3*4.00"};
    ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line, arr2);
    spin2.setAdapter(adapter);
    spin2.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            // TODO Auto-generated method stub
            Toast.makeText(MainActivity.this, "the item selected "+arr2[arg2],Toast.LENGTH_SHORT).show();

        }

        @Override
public void onNothingSelected(AdapterView<?> arg0) {
             //TODO Auto-generated method stub

        }
    });
    spin3=(Spinner)findViewById(R.id.spinner1);
    final String arr3[] = {"NONE"," 1*£5.49","2*2.00","3*4.00"};
    ArrayAdapter<String> adapter3 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line, arr3);
    spin3.setAdapter(adapter);
    spin3.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            // TODO Auto-generated method stub
            Toast.makeText(MainActivity.this, "the item selected "+arr3[arg2],Toast.LENGTH_SHORT).show();

        }

        @Override
public void onNothingSelected(AdapterView<?> arg0) {
             //TODO Auto-generated method stub

        }
    });
    spin4=(Spinner)findViewById(R.id.spinner1);
    final String arr4[] = {"NONE"," 1*£5.49","2*2.00","3*4.00"};
    ArrayAdapter<String> adapter4 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line, arr4);
    spin4.setAdapter(adapter);
    spin4.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            // TODO Auto-generated method stub
            Toast.makeText(MainActivity.this, "the item selected "+arr4[arg2],Toast.LENGTH_SHORT).show();

        }

        @Override
public void onNothingSelected(AdapterView<?> arg0) {
             //TODO Auto-generated method stub

        }
    });

    btn= (Button)findViewById(R.id.button1);
    btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            Intent inte = new Intent (MainActivity.this, Finalorder.class);
            SpinnersData data = new SpinnersData();
            data.setSpinner1(spin1.getSelectedItem().toString());
            data.setSpinner2(spin2.getSelectedItem().toString());
            data.setSpinner3(spin3.getSelectedItem().toString());
            data.setSpinner4(spin4.getSelectedItem().toString());

            inte.putExtra("SPINNERVAL", data);
            startActivity(inte);

        }
    });
}}

Here is the second Activity which I tried to receive Spinners information. I don't know where I wrote the code wrong. please

activity 2

public class Finalorder extends MainActivity {

Bundle Bundle;
TextView txt;
Button btn;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.last);

    Bundle=getIntent().getExtras();
    SpinnersData data = (SpinnersData) getIntent().getExtras().getSerializable("SPINNERVAL");

        }}
codeMagic
  • 44,549
  • 13
  • 77
  • 93
sudheir
  • 11
  • 2

1 Answers1

1

You can implement an Adapter that extends ArrayAdapter for your Spinner and retrieve data from that Adapter,eg.

     public void onItemSelected(AdapterView<?> parent, View view,
            int pos, long id) {
              String obj= myAdapter.getItem(pos);                  
                        data.setSpinner1(obj.get());

    }

declaring the adapter

 ArrayList<String> list = new ArrayList<String>();
           list.add("1.Position ONE");
           list.add("2.Position TWO");
           list.add("3.Position THREE");
private MyAdapter myAdapter=new  MyAdapter(getActivity(),
                                 android.R.layout.simple_spinner_item,list);
          spinner1.setAdapter(myAdapter);