Android开发之Button事件实现方法的总结

下面介绍Button事件实现的两种方法

main.xml

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:orientation="vertical" 
  4.     android:layout_width="fill_parent" 
  5.     android:layout_height="fill_parent" 
  6.     > 
  7. <TextView    
  8.     android:layout_width="fill_parent"   
  9.     android:layout_height="wrap_content"   
  10.     android:text="@string/hello" 
  11.     /> 
  12. <Button   
  13.     android:id="@+id/myButton1" 
  14.     android:text=" 按钮1 " 
  15.     android:layout_width="wrap_content"   
  16.     android:layout_height="wrap_content"   
  17.     /> 
  18. <Button   
  19.     android:id="@+id/myButton2" 
  20.     android:text=" 按钮2 " 
  21.     android:layout_width="wrap_content"   
  22.     android:layout_height="wrap_content"   
  23.     /> 
  24. </LinearLayout> 

strings.xml

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <resources> 
  3.     <string name="hello">Hello World, ButtonDemoActivity!</string> 
  4.     <string name="app_name">ButtonDemo</string> 
  5. </resources> 

第一种:

ButtonDemoActivity.java

  1. package com.android.ButtonDemo.activity;  
  2.  
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.view.View.OnClickListener;  
  7. import android.widget.Button;  
  8. import android.widget.Toast;  
  9.  
  10. public class ButtonDemoActivity extends Activity {  
  11.     Button myButton1,myButton2;  
  12.     @Override 
  13.     public void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.main);  
  16.           
  17.         myButton1=(Button)findViewById(R.id.myButton1);  
  18.         myButton2=(Button)findViewById(R.id.myButton2);  
  19.           
  20.         //使用匿名类注册Button事件  
  21.         myButton1.setOnClickListener(new OnClickListener()  
  22.         {         
  23.             public void onClick(View v)  
  24.             {  
  25.                 Toast.makeText(ButtonDemoActivity.this"你点击了按钮1",Toast.LENGTH_LONG).show();  
  26.             }  
  27.         });  
  28.         myButton2.setOnClickListener(new OnClickListener()  
  29.         {         
  30.             public void onClick(View v)  
  31.             {  
  32.                 Toast.makeText(ButtonDemoActivity.this"你点击了按钮2",Toast.LENGTH_LONG).show();  
  33.             }  
  34.         });  
  35.     }  

第二种:

ButtonDemoActivity.java

  1. package com.android.ButtonDemo.activity;  
  2.  
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.view.View.OnClickListener;  
  7. import android.widget.Button;  
  8. import android.widget.Toast;  
  9.  
  10. public class ButtonDemoActivity extends Activity {  
  11.     Button myButton1,myButton2;  
  12.     @Override 
  13.     public void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.main);  
  16.           
  17.         myButton1=(Button)findViewById(R.id.myButton1);  
  18.         myButton2=(Button)findViewById(R.id.myButton2);  
  19.         myButton1.setOnClickListener(new ButtonClick());  
  20.         myButton2.setOnClickListener(new ButtonClick());  
  21.           
  22.     }  
  23.     //创建一个类,来响应OnClickListener  
  24.     class ButtonClick implements OnClickListener  
  25.     {  
  26.         public void onClick(View v)  
  27.         {  
  28.             switch (v.getId()) {  
  29.             case R.id.myButton1:  
  30.                 Toast.makeText(ButtonDemoActivity.this"你点击了按钮1",Toast.LENGTH_LONG).show();  
  31.                 break;  
  32.             case R.id.myButton2:  
  33.                 Toast.makeText(ButtonDemoActivity.this"你点击了按钮2",Toast.LENGTH_LONG).show();  
  34.                 break;  
  35.             default:  
  36.                 break;  
  37.             }  
  38.         }         
  39.     }  
  40. }  
  41.  

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。