在我的主要活动中,我的Spinner有一个onItemSelectedListener
。我将侦听器分配给onCreate
方法中的微调器对象。
活动类有一个成员变量int iCurrentSelection
。但无论我将iCurrentSelection
设置为活动中的任何位置,它在onItemSelected
方法中始终为空。因此,即使没有任何变化,布尔changed
始终为true
。
我不明白为什么!有人请赐教: - )
这是我的听众课程:
OnItemSelectedListener oisl = new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
boolean changed = iCurrentSelection != arg0.getSelectedItemPosition();
stopTracks();
if(changed){
iCurrentSelection = arg0.getSelectedItemPostion();
initTracks(actSpeed);
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
}
答案 0 :(得分:0)
activity类有一个成员变量“int iCurrentSelection”。但 无论我将iCurrentSelection设置为活动中的任何位置,它 永远是空的
在Java中,int值永远不会为Null,我不认为问题存在!也许arg0.getSelectedItemPosition()的返回是空的!因此,将整数值与Null对象进行比较将返回Null!