我试图从两个微调到下一个活动将字符串“año”和“artista”传递给我,并获得值“año”,但“artista”总是无效。我使用这种方法来获取其他活动中的值,并且它可以工作,但在这里,“artista”总是无效的。而且,我尝试了开关方法,但没有成功。从两个微调器获取值到字符串变量
我希望有人帮助我,告诉我我做错了什么。我阅读和前信息寻求帮助,
这是我的代码,
public class Buscar extends Activity implements OnItemSelectedListener{
String año;
String artista;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_buscar);
Buscar();
Spinner spinnerBuscarAño = (Spinner) findViewById(R.id.añoSpinner);
String[] añoBuscar = {"1995", "2000", "2005"};
spinnerBuscarAño.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, añoBuscar));
spinnerBuscarAño.setOnItemSelectedListener(this);
Spinner spinnerBuscarArtista = (Spinner) findViewById(R.id.artistaSpinner);
String[] artistaBuscar = {"Michael Jackson", "U2", "Depeche Mode"};
spinnerBuscarArtista.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, artistaBuscar));
spinnerBuscarArtista.setOnItemSelectedListener(this);
}
/*
public void onItemSelected(AdapterView<?> parent, View view,int pos, long id) {
switch (parent.getId()) {
case R.id.añoSpinner:
año = parent.getItemAtPosition(pos).toString();
break;
case R.id.artistaSpinner:
artista = parent.getItemAtPosition(pos).toString();
break;
default:
break;
}
}
*/
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position,
long id){
// TODO Auto-generated method stub
Spinner spinner = (Spinner) parent;
if(spinner.getId() == R.id.añoSpinner)
{
año = parent.getItemAtPosition(position).toString();
}
else if(spinner.getId() == R.id.artistaSpinner)
{
artista = parent.getItemAtPosition(position).toString();
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
public void Buscar() {
Button buttonBuscar = (Button) findViewById(R.id.buscar);
buttonBuscar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(getApplicationContext(),artista, Toast.LENGTH_SHORT).show();
Intent intentBuscar = new Intent(Buscar.this, ListadoMusica.class);
intentBuscar.putExtra("myaño", año);
intentBuscar.putExtra("myartista", artista);
startActivity(intentBuscar);
}
});
}
}
如果有人能帮助我,
由于提前,
你有当值检查在B中uscar()'缩小问题是否在这个Activity或接收Activity? – codeMagic
我想在此活动中选择两个纺纱器的值并发送到另一个活动。我不明白为什么这段代码在这里不起作用,因为我可以在另一个活动中使用此代码挑选两个spinners的值, – Rec
您是否检查过Buscast()中是否有值,并且使用日志或断点来缩小范围如果问题出在本活动或接收活动中? – codeMagic