Hendra Anggrian
Hendra Anggrian

Reputation: 5848

how to retrieve the selected value from spinner and use it in another class? - Android

as demonstrated here by jalopaba, I already created a new class: How do you get the selected value of a Spinner?

public class MyItemSelectedListener implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        String selected = parent.getItemAtPosition(pos).toString();
    }

    public void onNothingSelected(AdapterView parent) {
        // Do nothing.
    }
}

and registering this to the spinner in the original class:

spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

However, I still can't use that selected string yet to fill in my code in the same class:

textView.setText(selected);

I'm new to this Android anyway, so this question may be too dummy to some of you

Upvotes: 0

Views: 3652

Answers (4)

Mohammod Hossain
Mohammod Hossain

Reputation: 4114

After register spinner ,you can get selected item from getSelectedItem() method on any action such ocClick()

 regType = (Spinner) findViewById(R.id.spinner1);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.regType, android.R.layout.simple_spinner_dropdown_item);
    regType.setAdapter(adapter);

public void onClick(View v) { switch (v.getId()) { case R.id.btnSave:

        intent.putExtra("regtype",regType.getSelectedItem().toString());
        startActivity(intent);  

            break;}}

Upvotes: 0

Rekha
Rekha

Reputation: 901

Use global variable..make following changes in your code

String selected="";

public class MyItemSelectedListener implements OnItemSelectedListener {

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    selected = parent.getItemAtPosition(pos).toString();
}

public void onNothingSelected(AdapterView parent) {
    // Do nothing.
}

}

textView.setText(selected);

Upvotes: 0

Basant Singh
Basant Singh

Reputation: 5916

Add the setText code in the onItemSelected:

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    yourTextView.setText(parent.getSelectedItem().toString);
}

Upvotes: 2

skt
skt

Reputation: 102

Try this code,I hope It's help you.

final CharSequence[] array_min = {"No 

  Min","100","200","300","400", "500","600","700","800","900","1000",
                  "1100","1200","1300","1400","1500","1600","1700","1800","1900","2000","2500","3000","3500" };

        Spinner s = (Spinner) layout.findViewById(R.id.viewSpin);

        adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, array_min);

        s.setAdapter(adapter);
        s.setOnItemSelectedListener(new OnItemSelectedListener() {

            public void onItemSelected(AdapterView<?> parent, View arg1,
                    int arg2, long arg3)
            {
                selItem = parent.getSelectedItem().toString();
            }

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

Upvotes: 0

Related Questions