Reputation: 308
In my app all states are dynamically coming from API should post selected state_id but not state_name when I click on submit button.
public class SpinnerActivity extends Activity {
private Spinner spinner1, spinner2;
private Button btnSubmit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addItemsOnSpinner2();
}
// add items into spinner dynamically
public void addItemsOnSpinner2() {
spinner2 = (Spinner) findViewById(R.id.spinner2);
List<String> list = new ArrayList<String>();
JSONObject json = jsonParser.makeHttpRequest("http://eastendwebsolutions.com/wf/ws/", "GET", params);
for(int i = 0; i<json.names().length(); i++){
list.add( json.get(json.names().getString(i))));
}
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter);
}
}
Upvotes: 0
Views: 605
Reputation: 2606
Simply make an array of state_id and set it as per selected position of spinner
String selected_id;
String[] state_idarray = Your array;
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
selected_id = stateidarray[position];
}
}
});
Upvotes: 1
Reputation: 446
I think you need this :
spin.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
country_position = position;
if ((country_position == 0)) {
//Show message to select country
} else {
if (!(country_position == 0)
) {
// Perform your operation.
}
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
Upvotes: 0