2013-05-12 315 views
0

我想获取用户从微调菜单中选择的字符串。它应该在用户选择其中一个字符串并将该字符串保存到一个新变量后获取字符串。 我有这样一个代码,新变量只能取默认值,并且不能更新用户选择的内容。从spinner获取字符串

字符串是

String[] models={"Model 1" , "Model 2" }; 

和我的onCreate方法看起来像如下:

Spinner spinModel=(Spinner)findViewById(R.id.spinnerModel); 
spinModel.setOnItemSelectedListener(this); 
//creamos el spinner con las cadenas de modelos almacenadas en la variable items 
ArrayAdapter<String> aa= new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,models); 
//Decimos como debe mostrar este elemento 
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
//editamos el spinner 
spinModel.setAdapter(aa); 
    //I TRIED THIS FUNCTION 
model = spinModel.getSelectedItem().toString(); 

非常感谢大家!

回答

0

我有这样一个代码,新变量只能取值 的默认值,它不能更新用户选择的内容。

您需要分配OnItemSelectedListenerSpinnerOnItemSelected方法分配selectedItem属性。它会制造一个诡计。

spinModel.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 
    { 
     public void onItemSelected(AdapterView<?> arg0, View v, int position, 
            long id) { 
      model = spinModel.getSelectedItem().toString(); 
     } 

     public void onNothingSelected(AdapterView<?> arg0) { } 
    }); 
+0

然后我想它就像一个按钮。好!非常感谢你,我会尝试! – pistacho 2013-05-12 16:55:58