我正在尝试此代码
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声明,我做错了什么。 期待你的回复。 感谢。
答案 0 :(得分:1)
您是否尝试使用equals()方法比较代码中的两个字符串而不是==运算符?
if (spinnerState.equals("Miles") {
getDetailsMiles();
...
}
请查看}} 3p>
答案 1 :(得分:1)
尝试使用getSelectedIndex()
代替getSelectedItem()
。您必须确保始终在指定的索引处获得“州”和“里程”。
答案 2 :(得分:0)
您应该通过equals
而非spinnerState == "Miles"
答案 3 :(得分:0)
尝试使用equalsIgnoreCase或equals而不是使用==来比较字符串