5 Ways to handle button click event in android

When writing software very rarely is there only one way to do this things,this is true when wiring up View events,five methods are shown here.



  1. 1.Using Member Class
  2. public class main extends Activity {
  3.     @Override
  4.     public void onCreate(Bundle savedInstanceState) {
  5.         super.onCreate(savedInstanceState);
  6.         setContentView(R.layout.main);
  7.         //attach an instance of HandleClick to the Button
  8.         findViewById(R.id.button1).setOnClickListener(new HandleClick());
  9.     }    
  10.     private class HandleClick implements OnClickListener{
  11.         public void onClick(View arg0) {
  12.         Button btn = (Button)arg0;    //cast view to a button
  13.         // get a reference to the TextView
  14.         TextView tv = (TextView) findViewById(R.id.textview1);
  15.         // update the TextView text
  16.         tv.setText("You pressed " + btn.getText());
  17.     }
  18.     }
  19. }
  20. 2. Using Interface Type
  21. public class main extends Activity {
  22.     @Override
  23.     public void onCreate(Bundle savedInstanceState) {
  24.         super.onCreate(savedInstanceState);
  25.         setContentView(R.layout.main);
  26.         //use the handleClick variable to attach the event listener
  27.         findViewById(R.id.button1).setOnClickListener(handleClick);
  28.     }
  29.     private OnClickListener handleClick = new OnClickListener(){
  30.         public void onClick(View arg0) {
  31.         Button btn = (Button)arg0;
  32.         TextView tv = (TextView) findViewById(R.id.textview1);
  33.         tv.setText("You pressed " + btn.getText());
  34.     }
  35.     };
  36. }
  37. 3Using Anonymous Inner Class

  38. public class main extends Activity {
  39.     @Override
  40.     public void onCreate(Bundle savedInstanceState) {
  41.         super.onCreate(savedInstanceState);
  42.         setContentView(R.layout.main);
  43.         findViewById(R.id.button1).setOnClickListener(new OnClickListener(){
  44.             public void onClick(View arg0) {
  45.             Button btn = (Button)arg0;
  46.             TextView tv = (TextView) findViewById(R.id.textview1);
  47.             tv.setText("You pressed " + btn.getText());
  48.             }
  49.         });
  50.     }    
  51. }
  52. 4Implementation in Activity
  53. public class main extends Activity implements OnClickListener{
  54.     @Override
  55.     public void onCreate(Bundle savedInstanceState) {
  56.         super.onCreate(savedInstanceState);
  57.         setContentView(R.layout.main);
  58.         findViewById(R.id.button1).setOnClickListener(this);
  59.     }    
  60.     public void onClick(View arg0) {
  61.     Button btn = (Button)arg0;
  62.     TextView tv = (TextView) findViewById(R.id.textview1);
  63.     tv.setText("You pressed " + btn.getText());
  64.     }
  65. }
  66. 5Using Attribute in View Layout for OnClick Events
  67. public class main extends Activity{
  68.     @Override
  69.     public void onCreate(Bundle savedInstanceState) {
  70.         super.onCreate(savedInstanceState);
  71.         setContentView(R.layout.main);
  72.     }    
  73.     public void HandleClick(View arg0) {
  74.     Button btn = (Button)arg0;
  75.         TextView tv = (TextView) findViewById(R.id.textview1);
  76.     tv.setText("You pressed " + btn.getText());
  77.     }
  78. }
  79. <Button android:id="@+id/button1"
  80.         android:layout_width="wrap_content"
  81.         android:layout_height="wrap_content"
  82.         android:text="Button 1"
  83.         android:onClick="HandleClick"/>

Comments

Popular posts from this blog

Brother printer password reset using telnet

How to adjust the brightness in Samsung 19" SyncMaster SA100 LED monitor?

ASP.NET Server Controls Tutorial