Android开发之onClick事件的三种写法

本文详细介绍了Android开发中onClick事件的三种常见写法,包括直接在按钮上设置监听器、创建独立的监听器对象以及利用Android 1.6及以上版本提供的简化写法。通过实例代码演示了每种方法的应用。

Android开发之onClick事件的三种写法

http://blog.youkuaiyun.com/a9529lty/article/details/7542828

 

  1. package a.a; 
  2.  
  3. import android.app.Activity; 
  4. import android.os.Bundle; 
  5. import android.view.View; 
  6. import android.widget.Button;
  7. import android.widget.EditText; 
  8.  
  9. public class AActivityextends Activity { 
  10.     /** Called when the activity is first created. */ 
  11.  
  12.     EditText Ev1; 
  13.  
  14.     @Override 
  15.     public void onCreate(Bundle savedInstanceState) { 
  16.         super.onCreate(savedInstanceState); 
  17.         setContentView(R.layout.main); 
  18.  
  19.         Ev1 = (EditText)findViewById(R.id.editText1);   
  20.  
  21.         //第一种方式   
  22.         Button Btn1 = (Button)findViewById(R.id.button1);//获取按钮资源  
  23.         Btn1.setOnClickListener(new Button.OnClickListener(){//创建监听  
  24.             public void onClick(View v) {   
  25.                 String strTmp = "点击Button01";   
  26.                 Ev1.setText(strTmp);   
  27.             }   
  28.  
  29.         });   
  30.  
  31.         //第二种方式   
  32. Button Btn2 = (Button) findViewById(R.id.button2);//获取按钮资源  
  33.         Btn2.setOnClickListener(listener);//设置监听  
  34.  
  35.     } 
  36.  
  37.     Button.OnClickListener listener = new Button.OnClickListener(){//创建监听对象   
  38.         public void onClick(View v){   
  39.             String strTmp="点击Button02";   
  40.             Ev1.setText(strTmp);   
  41.         }   
  42.  
  43.     }; 
  44.  
  45.  
  46.     //第三种方式(Android1.6版本及以后的版本中提供了)   
  47.     public void Btn3OnClick(View view){   
  48.         String strTmp="点击Button03"
  49.         Ev1.setText(strTmp); 
  50.  
  51.     }   
package a.a;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class AActivity extends Activity {
	/** Called when the activity is first created. */

	EditText Ev1;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		Ev1 = (EditText)findViewById(R.id.editText1);  

		//第一种方式  
		Button Btn1 = (Button)findViewById(R.id.button1);//获取按钮资源  
		Btn1.setOnClickListener(new Button.OnClickListener(){//创建监听  
			public void onClick(View v) {  
				String strTmp = "点击Button01";  
				Ev1.setText(strTmp);  
			}  

		});  

		//第二种方式  
		Button Btn2 = (Button) findViewById(R.id.button2);//获取按钮资源  
		Btn2.setOnClickListener(listener);//设置监听  

	}

	Button.OnClickListener listener = new Button.OnClickListener(){//创建监听对象  
		public void onClick(View v){  
			String strTmp="点击Button02";  
			Ev1.setText(strTmp);  
		}  

	};


	//第三种方式(Android1.6版本及以后的版本中提供了)  
	public void Btn3OnClick(View view){  
		String strTmp="点击Button03";
		Ev1.setText(strTmp);

	}  
}


 

  1. <?xmlversion="1.0"encoding="utf-8"?> 
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:layout_width="fill_parent" 
  4.     android:layout_height="fill_parent" 
  5.     android:orientation="vertical"> 
  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/button1" 
  14.         android:layout_width="wrap_content" 
  15.         android:layout_height="wrap_content" 
  16.         android:text="Button1"/> 
  17.  
  18.     <Button 
  19.         android:id="@+id/button2" 
  20.         android:layout_width="wrap_content" 
  21.         android:layout_height="wrap_content" 
  22.         android:text="Button2"/> 
  23.      
  24. <Button 
  25.         android:id="@+id/button3" 
  26.         android:layout_width="wrap_content" 
  27.         android:layout_height="wrap_content" 
  28.         android:text="Button3"  
  29.         android:onClick="Btn3OnClick"/> 
  30.  
  31. <EditText 
  32.      android:id="@+id/editText1" 
  33.      android:layout_width="match_parent" 
  34.      android:layout_height="wrap_content"> 
  35.  
  36.      <requestFocus/> 
  37. </EditText> 
  38.  
  39. </LinearLayout> 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值