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. }  

第三种:

当程序里面有很多的部件需要点击执行动作的时候可以使用implements OnClickListener

看下面的代码:


  1. public class Dong_Home extends TabActivity implements OnClickListener{  
  2.       
  3.     @Override  
  4.     protected void onCreate(Bundle savedInstanceState) {  
  5.         // TODO Auto-generated method stub  
  6.         super.onCreate(savedInstanceState);  
  7.         setContentView(R.layout.main_dish);  
  8.           
  9.         findViewById(R.id.tab_imageView_coldDish).setOnClickListener(this);  
  10.         findViewById(R.id.tab_imageView_hotDish).setOnClickListener(this);  
  11.         findViewById(R.id.tab_imageView_seafood).setOnClickListener(this);  
  12.         findViewById(R.id.tab_imageView_drink).setOnClickListener(this);  
  13.         findViewById(R.id.tab_imageView_soup).setOnClickListener(this);  
  14.         findViewById(R.id.tab_imageView_food).setOnClickListener(this);  
  15.         findViewById(R.id.tab_imageView_fanhui).setOnClickListener(this);  
  16.     }  
  17.       
  18.     @Override  
  19.     public void onClick(View v) {  
  20.         // TODO Auto-generated method stub  
  21.         switch(v.getId()){  
  22.         case R.id.tab_imageView_coldDish:  
  23.             break;  
  24.         case R.id.tab_imageView_hotDish:  
  25.             break;  
  26.         case R.id.tab_imageView_seafood:  
  27.             break;  
  28.         case R.id.tab_imageView_drink:  
  29.             break;  
  30.         case R.id.tab_imageView_soup:  
  31.             break;  
  32.         case R.id.tab_imageView_food:  
  33.             break;  
  34.         case R.id.tab_imageView_fanhui:  
  35.             finish();  
  36.             break;  
  37.         }  
  38.     }  
  39.   

第四种

  可以直接在 active_main.xml 文件中直接定义事件

<Button
        android:id="@+id/btnclick"
         android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="btnclick_click"
         />

在.java 的页面直接写方法名即可

public void btnclick_click(View v)
    {
        Button tbtn = (Button)findViewById(R.id.btnclick);
        tbtn.setText("my click");
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值