0

I need to add switch widget in my actionbar menu. The switch widget is appearing properly in the actionbar. But it is not visible in the action bar overflow. Could someone please help me to find out a solution?

Here is my menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
    android:id="@+id/resp"
    app:actionViewClass="android.widget.Switch"
    app:showAsAction="ifRoom"
    android:title="Respiration" />
<item
    android:id="@+id/plotI"
    app:actionViewClass="android.widget.Switch"
    app:showAsAction="ifRoom"
    android:title="Plot I" />
<item
    android:id="@+id/plotII"
    app:actionViewClass="android.widget.Switch"
    app:showAsAction="ifRoom"
    android:title="plot II" />
<item
    android:id="@+id/plotIII"
    app:actionViewClass="android.widget.Switch"
    app:showAsAction="ifRoom"
    android:title="Plot III" />
<item
    android:id="@+id/plotIV"
    app:actionViewClass="android.widget.Switch"
    app:showAsAction="ifRoom"
    android:title="Plot IV" />
</menu>

Here is my onCreateOptionsMenu..

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);
    final MenuItem plot1 = menu.findItem(R.id.plotI);
    final Switch actionView1 = (Switch) MenuItemCompat.getActionView(plot1);
    actionView1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            //
        }
    });
    final MenuItem plot2 = menu.findItem(R.id.plotII);
    final Switch actionView2 = (Switch) MenuItemCompat.getActionView(plot2);
    actionView2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // Start or stop your Service
        }
    });
    final MenuItem plot3 = menu.findItem(R.id.plotI);
    final Switch actionView3 = (Switch) MenuItemCompat.getActionView(plot3);
    actionView3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // Start or stop your Service
        }
    });
    final MenuItem plot4 = menu.findItem(R.id.plotI);
    final Switch actionView4 = (Switch) MenuItemCompat.getActionView(plot4);
    actionView4.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // Start or stop your Service
        }
    });

    return super.onCreateOptionsMenu(menu);
}
somia
  • 611
  • 5
  • 22

0 Answers0