android - 不使用 Marshmallow 调用 Spinner onItemSelected

标签 android android-spinner android-toolbar

我的应用程序中有一个微调器,我是这样实现的:

   //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.Spinnerandroid.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/

相关文章:

java - 不同线程的填充旋转器

适配器中的 Android 上下文操作栏?

android - 如何以编程方式设置工具栏 NavIcon 波纹颜色?

java - 如何删除重复键,安卓自定义键盘的按键预览

java - 如何在 AlertDialog 上单击 "OK"后重新加载主要 Activity

Android AOSP SIOCADDRT ioctl 调用失败 : Network is unreachable

android - 如何更改 Android 工具栏中菜单项的大小?

android - RecyclerView onBindViewHolder 位置设置错误

java - 数据库更改后刷新操作栏微调器

android:调用 notifyDataSetChanged() 时微调器不更新我的 View