dunia bisnis
dunia bisnis

Reputation: 1

About Click Button On Fragment

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

Upvotes: 0

Views: 54

Answers (5)

Android Geek
Android Geek

Reputation: 9225

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){
    }

});

Upvotes: 1

lionscribe
lionscribe

Reputation: 3513

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);

Upvotes: 0

Mohit Suthar
Mohit Suthar

Reputation: 9375

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);
        }
    });

Upvotes: 0

Sohail Zahid
Sohail Zahid

Reputation: 8149

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;

    }
 }

Upvotes: 0

RobinHood
RobinHood

Reputation: 10969

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

Upvotes: 0

Related Questions