Add toggle button to the menu to stop and start service

后端 未结 6 813
抹茶落季
抹茶落季 2020-12-11 03:24

I am trying to enable the user to stops and starts service which I am implementing from the Menu where the text is will be changed when he clicks it so I want to add T

6条回答
  •  南方客
    南方客 (楼主)
    2020-12-11 03:59

    I know its very a long time to post an answer, but it may help someone :)

    I followed this link and update some of the implemented solution as the app was crashed before these modifications

    And below is the full solution: 1- Create a new xml file under layout folder and name it switch_layout.xml and put the below:

    
        
        
    
    

    2- Add the below menu item in the main.xml file under menu folder:

    
    

    3- Go to your activity and below is a full implementation for onCreateOptionsMenu method:

     @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        MenuItem item = (MenuItem) menu.findItem(R.id.switchId);
        item.setActionView(R.layout.switch_layout);
        Switch switchAB = item
                .getActionView().findViewById(R.id.switchAB);
        switchAB.setChecked(false);
    
        switchAB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                                         boolean isChecked) {
                if (isChecked) {
                    Toast.makeText(getApplication(), "ON", Toast.LENGTH_SHORT)
                            .show();
                } else {
                    Toast.makeText(getApplication(), "OFF", Toast.LENGTH_SHORT)
                            .show();
                }
            }
        });
        return true;
    }
    

提交回复
热议问题