Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ActionBarSherlock样式选定的操作项_Android_Android Actionbar_Actionbarsherlock - Fatal编程技术网

Android ActionBarSherlock样式选定的操作项

Android ActionBarSherlock样式选定的操作项,android,android-actionbar,actionbarsherlock,Android,Android Actionbar,Actionbarsherlock,我有一个ViewPager,每页显示一张照片。我显示了一个带有“喜欢/不喜欢”操作的拆分ActionBar,用户可以对照片投“喜欢”或“不喜欢”的票 我成功地实现了每张照片的投票功能 问题: 如何为每张照片设置所选投票的样式?换句话说,如何根据照片的当前状态管理MenuItem图标?您应该创建一个布尔值来检测何时喜欢照片,然后在MenuItem上调用设置图标 final MenuItem liked = YOUR_MENU.findItem(THE_LIKED_ACTION_ID); i

我有一个
ViewPager
,每页显示一张照片。我显示了一个带有“喜欢/不喜欢”操作的拆分
ActionBar
,用户可以对照片投“喜欢”或“不喜欢”的票

我成功地实现了每张照片的投票功能

问题


如何为每张照片设置所选投票的样式?换句话说,如何根据照片的当前状态管理
MenuItem
图标?

您应该创建一个
布尔值来检测何时喜欢照片,然后在
MenuItem
上调用
设置图标

final MenuItem liked = YOUR_MENU.findItem(THE_LIKED_ACTION_ID);
    if (isLiked()) {
        liked.setIcon(YOUR_LIKED_DRAWABLE);
    } else {
        liked.setIcon(YOUR_DEFAULT_LIKED_DRAWABLE);
    }

mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            invalidateOptionsMenu();
        }
    });

大声思考。。。因为它是一个具有一定页数的ViewPager,所以我应该使用一个布尔值数组?我还需要InvalidateOptions功能表()?进行了一次编辑,显示了如何使用
ViewPager
调用
InvalidateOptions功能表
,因为您需要调用它。就数组而言,我想如果这是您想要的,您可以这样做。此外,你应该考虑删除“讨厌”的动作。这是重复的。如果用户不喜欢照片,他们就不会按“喜欢”按钮。侧面说明:您知道splitABS底部栏在操作按钮顶部(上方)有一个水平分隔符。你知道我怎样才能摆脱那个分离器吗?