我有一个包含多个Spinners的Activity(大约8-9)。我使用的代码如下:
Spinner sp1, sp2, sp3, sp4, sp5;
sp1 = (Spinner) findViewById(R.id.spinner1);
sp2 = (Spinner) findViewById(R.id.spinner2);
sp3 = (Spinner) findViewById(R.id.spinner3);
sp4 = (Spinner) findViewById(R.id.spinner4);
sp5 = (Spinner) findViewById(R.id.spinner5);
sp1.setOnItemSelectedListener(this);
sp2.setOnItemSelectedListener(this);
sp3.setOnItemSelectedListener(this);
sp4.setOnItemSelectedListener(this);
sp5.setOnItemSelectedListener(this);
//Outside onCreate I'm using the following to handle the spinner Item Selected event.
@override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
switch (arg0.getId()) {
case R.id.spinner1:
Toast.makeText(getApplicationContext(), arg0.getItemAtPosition(arg2).toString(), Toast.LENGTH_LONG).show();
break;
case R.id.spinner2:
Toast.makeText(getApplicationContext(), arg0.getItemAtPosition(arg2).toString(), Toast.LENGTH_LONG).show();
break;
case R.id.spinner3:
Toast.makeText(getApplicationContext(), arg0.getItemAtPosition(arg2).toString(), Toast.LENGTH_LONG).show();
break;
case R.id.spinner4:
Toast.makeText(getApplicationContext(), arg0.getItemAtPosition(arg2).toString(), Toast.LENGTH_LONG).show();
break;
case R.id.spinner5:
Toast.makeText(getApplicationContext(), arg0.getItemAtPosition(arg2).toString(), Toast.LENGTH_LONG).show();
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
但问题是我在任何纺纱厂选择项目时都没有Toast
。任何帮助,将不胜感激。提前谢谢。
答案 0 :(得分:2)
package com.meta;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Spinner;
import android.widget.Toast;
import com.meta.R;
public class SpinnerActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner sp1, sp2, sp3, sp4, sp5;
sp1 = (Spinner) findViewById(R.id.spinner1);
sp2 = (Spinner) findViewById(R.id.spinner2);
sp3 = (Spinner) findViewById(R.id.spinner3);
sp4 = (Spinner) findViewById(R.id.spinner4);
sp5 = (Spinner) findViewById(R.id.spinner5);
sp1.setOnItemSelectedListener(myListener);
sp2.setOnItemSelectedListener(myListener);
sp3.setOnItemSelectedListener(myListener);
sp4.setOnItemSelectedListener(myListener);
sp5.setOnItemSelectedListener(myListener);
}
OnItemSelectedListener myListener=new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
switch (arg2) {
case 1:
Toast.makeText(SpinnerActivity.this,"Spinner 1", Toast.LENGTH_LONG).show();
break;
case 2:
Toast.makeText(SpinnerActivity.this, "Spinner 2", Toast.LENGTH_LONG).show();
break;
case 3:
Toast.makeText(SpinnerActivity.this, "Spinner 2", Toast.LENGTH_LONG).show();
break;
case 4:
Toast.makeText(SpinnerActivity.this,"Spinner 2", Toast.LENGTH_LONG).show();
break;
case 5:
Toast.makeText(SpinnerActivity.this, "Spinner 2", Toast.LENGTH_LONG).show();
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
};
}
答案 1 :(得分:1)
public void onItemSelected(AdapterView<?> parent, View view,int pos, long id) {
switch (parent.getId()) {
case R.id.your_spinner_1_id:
// do stuffs with you spinner 1
break;
case R.id.your_spinner_2_id:
// do stuffs with you spinner 2
break;
default:
break;
}
}