Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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 ActionBar按钮选择状态_Android_Android Actionbar_Android Styles - Fatal编程技术网

Android ActionBar按钮选择状态

Android ActionBar按钮选择状态,android,android-actionbar,android-styles,Android,Android Actionbar,Android Styles,我在ActionBar工作。 我在ActionBar上有3个按钮,有3个活动。当我按下按钮时,它会导航到其他活动,但我想做的是,我按下的按钮会在ActionBar上显示它的选定状态 我的菜单代码如下 <?xml version="1.0" encoding="utf-8"?> 而且很时髦 <!-- Application theme. --> <style name="AppTheme" parent="@android:style/Theme.Ho

我在ActionBar工作。 我在ActionBar上有3个按钮,有3个活动。当我按下按钮时,它会导航到其他活动,但我想做的是,我按下的按钮会在ActionBar上显示它的选定状态

我的菜单代码如下

<?xml version="1.0" encoding="utf-8"?>


而且很时髦

 <!-- Application theme. -->
<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyTheme.ActionBar</item>
        <item name="android:windowContentOverlay">@null</item>
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

<style name="MyTheme.ActionBar" parent="android:Widget.Holo.ActionBar">
    <item name="android:background">@android:color/transparent</item>
    <item name="android:backgroundStacked">@android:color/transparent</item>
    <item name="android:displayOptions">showTitle</item>
</style>

@style/mysteme.ActionBar
@空的
@android:彩色/透明
@android:彩色/透明
剧名
试着这样做:

@Override
    public boolean onMenuItemSelected(int featureId, MenuItem item) {

        for (int i = 0; i < mainMenu.size(); i++) {

            // Set default icons
            if (mainMenu.getItem(i).getItemId() == R.id.action1) {
                mainMenu.getItem(i).setIcon(R.drawable.icon_default1);
            } else if (mainMenu.getItem(i).getItemId() == R.id.action2) {
                mainMenu.getItem(i).setIcon(R.drawable.icon_default2);
            } else if (.....) {
                .....
            }
        }

        if (item.getItemId() == R.id.action1) {
            item.setIcon(R.drawable.icon_highlighted1);
        } else if (item.getItemId() == R.id.action2) {
            item.setIcon(R.drawable.icon_highlighted2);
        } else if(.....) {
            .....
        }

        return super.onMenuItemSelected(featureId, item);
    }
@覆盖
公共布尔值onMenuItemSelected(int-featureId,MenuItem项){
对于(int i=0;i
我在CreateOptionsMenu(菜单菜单)上解决了这个问题

@覆盖
公共布尔onCreateOptions菜单(菜单){
MenuInflater充气机=getMenuInflater();
充气机。充气(右菜单。活动\主操作,菜单);
对于(int i=0;i
For循环的主菜单是什么?此处For循环用于迭代项。
@Override
    public boolean onMenuItemSelected(int featureId, MenuItem item) {

        for (int i = 0; i < mainMenu.size(); i++) {

            // Set default icons
            if (mainMenu.getItem(i).getItemId() == R.id.action1) {
                mainMenu.getItem(i).setIcon(R.drawable.icon_default1);
            } else if (mainMenu.getItem(i).getItemId() == R.id.action2) {
                mainMenu.getItem(i).setIcon(R.drawable.icon_default2);
            } else if (.....) {
                .....
            }
        }

        if (item.getItemId() == R.id.action1) {
            item.setIcon(R.drawable.icon_highlighted1);
        } else if (item.getItemId() == R.id.action2) {
            item.setIcon(R.drawable.icon_highlighted2);
        } else if(.....) {
            .....
        }

        return super.onMenuItemSelected(featureId, item);
    }
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.activity_main_actions, menu); 
        for (int i = 0; i < menu.size(); i++) {
             if (menu.getItem(i).getItemId() == R.id.action_scan) {
                 menu.getItem(i).setIcon(R.drawable.scan_icon_deselected_d1);
               } else if (menu.getItem(i).getItemId() == R.id.action_settings) {
                 menu.getItem(i).setIcon(R.drawable.settings_icon_deselected_d1);
               } else if (menu.getItem(i).getItemId() == R.id.action_help) {
                 menu.getItem(i).setIcon(R.drawable.whitequestionmark_selected);
               }
          }
        return super.onCreateOptionsMenu(menu);
    }