我的代码中有两个微调器。我面临的问题是我无法区分两个微调器的结果。我知道我们可以使用id,但是我无法做到。这是我的代码
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();
}
答案 0 :(得分:3)
修改onItemSelected
方法
@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();
}
答案 1 :(得分:0)
区分结果:
Spinner s1, s2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_product);
s1= findViewById(R.id.spinner1);
SpinnerAdapter adap = new ArrayAdapter<String>(this, R.layout.spinner, new String[]{"Men", "Women", "Kids"});
s1.setAdapter(adap);
s1.setTag(1);
s2= findViewById(R.id.spinner2);
s2.setTag(2);
SpinnerAdapter adap2 = new ArrayAdapter<String>(this,
R.layout.spinner, new String[]{"Casual", "Formals", "Ethinic"});
s2.setAdapter(adap2);
s1.setOnItemSelectedListener(this);
s2.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
Spinner spinner = (Spinner) parent;
if(spinner.getId() == R.id.spinner1)
{
String sp1= String.valueOf(s1.getSelectedItem());
// Toast.makeText(this, sp1, Toast.LENGTH_SHORT).show();
if(sp1.contentEquals("Men")) {
//Do Something
}
if(sp1.contentEquals("Women")) {
//Do Something
}
if(sp1.contentEquals("Kids")) {
//Do Something
}
} else if(spinner.getId() == R.id.spinner2)
{
String sp2= String.valueOf(s2.getSelectedItem());
// Toast.makeText(this, sp2, Toast.LENGTH_SHORT).show();
if(sp2.contentEquals("Casual")) {
//Do Something
}
if(sp2.contentEquals("Formals")) {
//Do Something
}
if(sp2.contentEquals("Ethinic")) {
//Do Something
}
}
}