OnItemSelectedListener上的强制转换错误

时间:2013-07-28 16:00:47

标签: android

这是我受影响的代码

Object[] rooms = new Object[]{
    new OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            tmEditor.putInt("level", position);
        }

        public void onNothingSelected(AdapterView<?> parent) {
        }
    }, 
    new OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            tmEditor.putInt("amount", position);
        }

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

问题是当我用

在其他地方调用它时
((Spinner) widget).setOnItemClickListener((OnItemClickListener) rooms[1]);

然后我得到了一个强制转换异常错误

java.lang.ClassCastException: com.ssttevee.Loki$1$8 cannot be cast to android.widget.AdapterView$OnItemClickListener

1 个答案:

答案 0 :(得分:2)

您无法将AdapterView.OnItemSelectedListener投射到AdapterView.OnItemClickListener。 使用setOnItemSelectedListener或将rooms更改为AdapterView.OnItemClickListener的数组。