I have two spinners in my code. The problem I face is I'm unable to differentiate the results of the two spinners.I know we can use ids but I'm unable to do it.here's my code
public class AddProduct extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_product);
Spinner spinner = findViewById(R.id.spinner1);
SpinnerAdapter adap = new ArrayAdapter<String>(this, R.layout.spinner, new String[]{"Men", "Women", "Kids"});
spinner.setAdapter(adap);
spinner.setTag(1);
spinner.setOnItemSelectedListener(this);
Spinner spinner2 = findViewById(R.id.spinner2);
spinner2.setTag(2);
SpinnerAdapter adap2 = new ArrayAdapter<String>(this,
R.layout.spinner, new String[]{"Casual", "Formals", "Ethinic"});
spinner2.setAdapter(adap2);
spinner2.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String text = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(), text , Toast.LENGTH_SHORT).show();
}
Modify onItemSelected
method
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String text = "";
if(parent.getId() == R.id.spinner1) {
text = "spinner1 " + parent.getItemAtPosition(position).toString();
} else if(parent.getId() == R.id.spinner2) {
text = "spinner2 " + parent.getItemAtPosition(position).toString();
}
Toast.makeText(parent.getContext(), text , Toast.LENGTH_SHORT).show();
}