我的应用程序中有一个微调器,我是这样实现的:
//Setup spinner
spinner = (AppCompatSpinner) findViewById(R.id.toolbar_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.sections, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_list_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
mViewPager.setCurrentItem(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
mViewPager.setCurrentItem(0);
}
});
这适用于我的手机运行 API 级别 19 (4.4.2) 但在 Marshmallow 上运行,API 级别 23 (6.0),永远不会调用 onItemSelected。
我已经尝试使用 android.widget.Spinner 和 android.support.v7.widget.AppCompatSpinner 得到相同的结果。
知道为什么吗?
最佳答案
Android Spinner: onItemSelected listener is not called when selecting the same item
只需创建 CustomSpinner;
这样就解决了 Marshmallow 上的问题;
关于android - 不使用 Marshmallow 调用 Spinner onItemSelected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34167949/