Search code examples
androidandroid-fragmentsandroid-studioandroid-fragmentactivity

multiple buttons in fragment, how to redirect to a different layout


I have a fragment with 8 buttons and i want that each button leads me to a different layout but i have no idea how to do that i only have one button working but i don't know how to put in the other seven can anyone help me please?

this is what i have so far:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {


    View view = inflater.inflate(R.layout.pagina_principal, container, false);
    view.findViewById(R.id.btnazul).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(getActivity(), Rutas_azul.class));
        }
    });

    return view;


}

Solution

  • You can use a single click listener for all buttons:

    private final View.OnClickListener mListener = new View.OnClickListener() {
        public void onClick(View view) {
            switch (view.getId()) {
                case R.id.button1:
                    // do stuff
                   break;
                case R.id.button2:
                    // do stuff
                   break;
                case R.id.button3:
                    // do stuff
                   break;
            }
        }
    }
    

    Then in your onCreateView

    view.findViewById(R.id.button1).setOnClickListener(mListener);
    view.findViewById(R.id.button2).setOnClickListener(mListener);
    view.findViewById(R.id.button3).setOnClickListener(mListener);
    

    do for all 8 buttons.