0

I'm new here, so i want to ask about title above,

i Have code like this:

public class TanyaDokter extends Fragment {

View View;
public TanyaDokter(){}

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

    final View view = inflater.inflate(R.layout.activity_tanya_dokter, container, false);


    Button button = (Button)view.findViewById(R.id.button1);
    button.setOnClickListener(new OnClickListener()

    {   
        public void onClick(View v){
            switch(v.getId()){

            case R.id.button1:
            Intent intent1 = new Intent(view.getContext(), FormTanyaDokter.class);
                startActivity(intent1);
                break;

this code is success to click one button, but i want to make two or more button, so my question is how to make this code can handle two or more button click. thanks

Nikhil PV
  • 1,014
  • 2
  • 16
  • 29

5 Answers5

1

Firstly create buttons in xml file: and then: There are two ways:

First :

Button button = (Button)view.findViewById(R.id.button1);
Button button2 = (Button)view.findViewById(R.id.button2);
Button button3 = (Button)view.findViewById(R.id.button3);
button.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
 ----
}       

public void onClick(View v){
    switch(v.getId()){

    case R.id.button1:
        Intent intent1 = new Intent(view.getContext(), FormTanyaDokter.class);
        startActivity(intent1);
        break;

    case R.id.button2:
        //your action
        break;
    case R.id.button3:
        //your action
        break;
    }
}

Second

Button button = (Button)view.findViewById(R.id.button1);
Button button2 = (Button)view.findViewById(R.id.button2);
Button button3 = (Button)view.findViewById(R.id.button3);

button.setOnClickListener(new OnClickListener() {   

    public void onClick(View v){

        Intent intent1 = new Intent(view.getContext(), FormTanyaDokter.class);
        startActivity(intent1);

    }};

button2.setOnClickListener(new OnClickListener() {   

    public void onClick(View v) {
    }

});

button3.setOnClickListener(new OnClickListener() {   

    public void onClick(View v){
    }

});
Android Geek
  • 8,956
  • 2
  • 21
  • 35
  • @duniabisnis Glad it helps. Please accept the answer and upvote, so that it can help others too. :) Thanks in advance. – Android Geek Jul 29 '16 at 05:38
0

In order to handle more than one button click event then you have to do,

    public void onClick(View v){
        switch(v.getId()){

        case R.id.button1:
        Intent intent1 = new Intent(view.getContext(), FormTanyaDokter.class);
            startActivity(intent1);
            break;

       case R.id.button2:
       //your action
            break;
   }
 }

But I will suggest you to refer appropriate documentation before raising a question, even check this Stackoverflow-Question

Community
  • 1
  • 1
RobinHood
  • 10,897
  • 4
  • 48
  • 97
0

For Single Button

     Button cancel  = (Button) view.findViewById(R.id.button1);
     cancel.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                       // your logic here....
                    }
                });

for multiple buttons.

  Button cancel1  = (Button) view.findViewById(R.id.button1);
  Button cancel2  = (Button) view.findViewById(R.id.button2);
  Button cancel3  = (Button) view.findViewById(R.id.button3);
  cancel1 .setOnClickListener(this);
  cancel2 .setOnClickListener(this);
  cancel2 .setOnClickListener(this);

OnClicked handle here

 @Override
  public void onClick(View v){
            switch(v.getId()){

            case R.id.button1:
            Intent intent1 = new Intent(view.getContext(), FormTanyaDokter.class);
                startActivity(intent1);
                break;
 case R.id.button2:
            Intent intent1 = new Intent(view.getContext(), FormTanyaDokter.class);
                startActivity(intent1);
                break;
 case R.id.button3:
            Intent intent1 = new Intent(view.getContext(), FormTanyaDokter.class);
                startActivity(intent1);
                break;

    }
 }
Sohail Zahid
  • 8,099
  • 2
  • 25
  • 41
0

You can add more button to xml layout and then handle all click by this

 Button button = (Button)view.findViewById(R.id.button1);
    Button button2 = (Button)view.findViewById(R.id.button2);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent1 = new Intent(view.getContext(), FormTanyaDokter.class);
            startActivity(intent1);
        }
    });

    button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent1 = new Intent(view.getContext(), SecondActivity.class);
            startActivity(intent1);
        }
    });
Mohit Suthar
  • 8,725
  • 10
  • 37
  • 67
0

You can also set the onClickListener to a variable, and set all buttons to it. For example

View.onClickListener listener = new onClickListener()
{
    void onClick...
};
button1.setOnClickListener(listener);
button2.setOnClickListener(listener);
button3.setOnClickListener(listener);
lionscribe
  • 3,413
  • 1
  • 16
  • 21