Spinner onItemSelected一个Action应该触发获取数据

时间:2012-02-08 13:33:06

标签: android android-spinner

我正在尝试此代码

findUsStateOrMileSpinnerState.setOnItemSelectedListener(
  new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> adapterView, View view, 
         int i, long l) 
    { 
       spinnerState = findUsStateOrMileSpinnerState.getSelectedItem().toString(); 
       if(spinnerState.equalsIgnoreCase("State")){
           getDetailsState();
       }
       if(spinnerState == "Miles"){
            getDetailsMiles();              
       }    
    } 

    public void onNothingSelected(AdapterView<?> adapterView) {
       return;
    } 
  }
); 

在某些选定项目上,它应该调用另一个侦听器。 Spinner有Miles和State。 但它没有通过if声明,我做错了什么。 期待你的回复。 感谢。

4 个答案:

答案 0 :(得分:1)

您是否尝试使用equals()方法比较代码中的两个字符串而不是==运算符?

if (spinnerState.equals("Miles") {
    getDetailsMiles();
    ...
}

请查看}}

答案 1 :(得分:1)

尝试使用getSelectedIndex()代替getSelectedItem()。您必须确保始终在指定的索引处获得“州”和“里程”。

答案 2 :(得分:0)

您应该通过equals而非spinnerState == "Miles"

进行字符串比较

答案 3 :(得分:0)

尝试使用equalsIgnoreCase或equals而不是使用==来比较字符串