Ricci
Ricci

Reputation: 217

How to set 4 button on one Listener?

This is simple method but i don't know the code so i mean is like this

     button1 = (Button)findViewById(R.id.b1);
     button2 = (Button)findViewById(R.id.b2);
     button3 = (Button)findViewById(R.id.b3);
     button4 = (Button)findViewById(R.id.b4);

    //button1-button4.setOnClickListener(new View.OnClickListener() {

          public void onClick(View Button1-4){
            {
             //Do same method for button1-4
            }
          }
        });

     button5 = (Button)findViewById(R.id.b5);
     button6 = (Button)findViewById(R.id.b6);
     button7 = (Button)findViewById(R.id.b7);
     button8 = (Button)findViewById(R.id.b8);

    //button5-button8.setOnClickListener(new View.OnClickListener() {

          public void onClick(View Button5-8){
            {
             //Do same method for button5-8
            }
          }
        });

     button9  = (Button)findViewById(R.id.b9);
     button10 = (Button)findViewById(R.id.b10);
     button11 = (Button)findViewById(R.id.b11);
     button12 = (Button)findViewById(R.id.b12);

    //button5-button8.setOnClickListener(new View.OnClickListener() {

          public void onClick(View Button9-12){
            {
             //Do same method for button9-12
            }
          }
        });

so i have 12 button on my project that i put in 3 group(layout), each group have 4 button inside which i mean the 4 button in each group do same thing.

Can anyone help me to give some sample code? Thank's

Upvotes: 1

Views: 76

Answers (4)

BlueSlimShady
BlueSlimShady

Reputation: 137

 public class MyActivity extends Activity implements View.OnClickListener {

Button button1, button2, button3;

@Override
public void onCreate(Bundle bundle) {
super.onCreate();

...

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

}

@Override
public void onClick(View v) {
  switch(v.getId()) {
   case R.id.button1:
   // do stuff; You can called your method from here also.
   break;
   case R.id.button2:
   // do stuff;
   break;
 ...
}
}

this itself should do the trick

Upvotes: 0

Shiladittya Chakraborty
Shiladittya Chakraborty

Reputation: 4408

This is one template. Hope this help.

public class MyActivity extends Activity implements View.OnClickListener {

Button button1, button2, button3;

@Override
public void onCreate(Bundle bundle) {
    super.onCreate();

    ...

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

    button1.setOnClickListener(this);
    button2.setOnClickListener(this);
    button3.setOnClickListener(this);
}

@Override
public void onClick(View v) {
   switch(v.getId()) {
       case R.id.button1:
       // do stuff; You can called your method from here also.
       break;
       case R.id.button2:
       // do stuff;
       break;
   ...
 }
}

You can also set it in your layout xml using the android:onclick attribute.

android:onClick="onClick"

Then in your activity class add the onClick method.

public void onClick(View v) {
 //Write your code here
 if(v.getId==R.id.button1 || v.getId==R.id.button2 || v.getId==R.id.button3 ||v.getId==R.id.button4){
  // Do stuff
 }
}

Upvotes: 2

Abhinav singh
Abhinav singh

Reputation: 1456

try this I hope your problem is solve..

 public class MyActivity extends Activity implements View.OnClickListener {

 Button button1, button2, button3,button4;

  @Override
public void onCreate(Bundle bundle) {
super.onCreate();

...

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

button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
}

@Override
  public void onClick(View v) {
   if(v.getId==R.id.button1 || v.getId==R.id.button2 || v.getId==R.id.button3 ||v.getId==R.id.button4){
 // Do somthin what you want
}

 }
} 

Upvotes: 0

salihgueler
salihgueler

Reputation: 3622

button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
button5.setOnClickListener(this);
button6.setOnClickListener(this);
button7.setOnClickListener(this);
button8.setOnClickListener(this);
button9.setOnClickListener(this);
button10.setOnClickListener(this);
button11.setOnClickListener(this);
button12.setOnClickListener(this);



@Override
public void onClick(View v) {

       if(v.getID==R.id.button1 || v.getID==R.id.button2 || v.getID==R.id.button3|| v.getID==R.id.button4){
       // fill

 }else if(v.getID==R.id.button5 || v.getID==R.id.button6 || v.getID==R.id.button7|| v.getID==R.id.button8){
       // fill

 }else if(v.getID==R.id.button9 || v.getID==R.id.button10 || v.getID==R.id.button11|| v.getID==R.id.button12){
       // sadsda;

 }

}

try this

Upvotes: 0

Related Questions