我在自定义View中添加了一个Spinner,XML代码如下
android:id="@+id/spinner_sta"
android:layout_width="72dp"
android:layout_height="30dp"
android:layout_alignBottom="@+id/tv_total_tips"
android:layout_alignTop="@+id/tv_total_tips"
android:layout_margin="0dp"
android:layout_toEndOf="@+id/tv_total_tips"
android:layout_toRightOf="@+id/tv_total_tips"
android:dropDownWidth="40dp" />
在Java文件中这样设置SPinner,Java代码如下
private void initSpinner() {
Spinner mSpinner = (Spinner) findViewById(R.id.spinner_sta);
ArrayAdapter adapter = new ArrayAdapter<>(mContext, R.layout.spinner_item, getResources().getStringArray(R.array.spinnerArray));
mSpinner.setAdapter(adapter);
mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> parent, View view, int position, long id) {
Log.i("pos", position + "");
}
@Override
public void onNothingSelected(AdapterView> parent) {
}
});
}
不知道为什么,触发不了item的选中事件,只会在初始化的时候触发一次,Log打印信息如下:
I/pos: 0
E/Surface: getSlotFromBufferLocked: unknown buffer: 0xee3f18c0
D/OpenGLRenderer: endAllStagingAnimators on 0xdc68f900 (ListPopupWindow$DropDownListView) with handle 0xddbf9770
E/Surface: getSlotFromBufferLocked: unknown buffer: 0xee3f18c0
D/OpenGLRenderer: endAllStagingAnimators on 0xdc561500 (ListPopupWindow$DropDownListView) with handle 0xddbf94b0
E/Surface: getSlotFromBufferLocked: unknown buffer: 0xee3f18c0
D/OpenGLRenderer: endAllStagingAnimators on 0xdc563100 (ListPopupWindow$DropDownListView) with handle 0xddbf94d0
有人遇到同样的问题吗?求指教,多谢!在线等,挺急的。