Android微调器onItemSelected侦听器无法看到外部值

时间:2013-10-19 08:21:46

标签: android spinner

在我的主要活动中,我的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) {
    }
}

1 个答案:

答案 0 :(得分:0)

  

activity类有一个成员变量“int iCurrentSelection”。但   无论我将iCurrentSelection设置为活动中的任何位置,它   永远是空的

在Java中,int值永远不会为Null,我不认为问题存在!也许arg0.getSelectedItemPosition()的返回是空的!因此,将整数值与Null对象进行比较将返回Null!