ActionDrawer / Actionbar与Spinner的怪异

时间:2014-09-29 14:05:33

标签: android android-actionbar-compat

我在动作抽屉里有一个Spinner,有点像谷歌玩的方式,但出于某种原因我去了一个嵌套片段的片段(这是一个显示其他片段的SlidingTabs片段)在Spinner改变第三次之后,应用程序不会向我发送微调更改事件。

因为我的时间很短,所以我将微调器从ActionDrawer移动到ActionBar,这更糟糕,因为如果我在一个带有嵌套片段的页面上,它将永远不会发送事件。 Spinner in ActionDrawer

当显示nonNested片段时,这两种解决方案都能正常工作吗?我能错过什么?此应用正在使用Google提供的最新ActionBar / ActionDrawer支持。此外,此Spinner的侦听器位于Activity中,并在显示嵌套片段之前建立。

微调器的一些代码(system.outs停止在嵌套片段页面上显示):

mActionDrawerSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            System.out.println("---->>>onItemSelected" + !mIsDrawerLocked);
            try {
                Integer previousSelect = (Integer) parent.getTag(TAG_DODGE_ITEM_SELECTEDBUG);
                //for some reason when the Drawer is revealed the first time it emits this event...
                if (previousSelect == null) {
                    parent.setTag(TAG_DODGE_ITEM_SELECTEDBUG, position);
                    System.out.println("---->>>onItemSelected early");
                    return;
                }

                parent.setTag(TAG_DODGE_ITEM_SELECTEDBUG, position);
                handleProxyChanged((PatientAdapterItem) parent.getItemAtPosition(position), false);
                mActivitydata.mSelectedProxyIdx = position;
            } catch (Throwable t) {
                t.printStackTrace();
            }
            System.out.println("onItemSelected---->>>");
        }

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

0 个答案:

没有答案