Search code examples
androidlayoutvisible

Android set Visible, Gone, button click


At the click of a button, I set the visibility of some Layout. Now when the button is clicked again I want to put all Layouts invisible. How can I do?

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    getActivity().getMenuInflater().inflate(R.menu.menu_graf, menu);
    super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {

    case R.id.grf:
        lista.setVisibility(View.GONE);
        chartContainer.setVisibility(View.VISIBLE);
        lista_c.setVisibility(View.VISIBLE);




            return true;

            default:
            return super.onOptionsItemSelected(item);

    }

    }

Solution

  • If the view is visible at first, you could use a boolean variable to know when to hide and when to show your view. For example (Pseudocode):

    visible = true;
    
    onclickEvent{
        if visible == true{
             visible = false
             view.setVisibility(View.Gone)
        }
        else {
            visible = true
            view.setVisibility(View.VISIBLE)
        }
    }