现在的位置: 首页 > 综合 > 正文

Activity中onClick事件3种写法

2013年09月18日 ⁄ 综合 ⁄ 共 3641字 ⁄ 字号 评论关闭

3种写法实现的功能和效果相同。

Java文件

view plaincopy to clipboardprint?
package com.wyw.demo;  
 
import android.app.Activity;  
import android.os.Bundle;  
import android.view.View;  
import android.widget.Button;  
import android.widget.EditText;  
 
 
public class activity 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.EditText01);  
        //第一种方式  
        Button Btn1 = (Button)findViewById(R.id.Button01);//获取按钮资源  
        Btn1.setOnClickListener(new Button.OnClickListener(){//创建监听  
            @Override 
            public void onClick(View v) {  
                String strTmp = "点击Button01";  
                Ev1.setText(strTmp);  
            }  
        });  
 
        //第二种方式  
        Button Btn2 = (Button) findViewById(R.id.Button02);//获取按钮资源  
        Btn2.setOnClickListener(listener);//设置监听  
    }  
     
    Button.OnClickListener listener = new Button.OnClickListener(){//创建监听对象  
        @Override 
        public void onClick(View v){  
            String strTmp="点击Button02";  
            Ev1.setText(strTmp);  
        }  
    };  
      
    //第三种方式(Android1.6版本及以后的版本中提供了)  
    public void Btn3OnClick(View view){  
        String strTmp="点击Button03";  
        Ev1.setText(strTmp);  
    }  

package com.wyw.demo;

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

public class activity 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.EditText01);
        //第一种方式
        Button Btn1 = (Button)findViewById(R.id.Button01);//获取按钮资源
        Btn1.setOnClickListener(new Button.OnClickListener(){//创建监听
         @Override
         public void onClick(View v) {
          String strTmp = "点击Button01";
          Ev1.setText(strTmp);
         }
        });

        //第二种方式
        Button Btn2 = (Button) findViewById(R.id.Button02);//获取按钮资源
        Btn2.setOnClickListener(listener);//设置监听
    }
  
    Button.OnClickListener listener = new Button.OnClickListener(){//创建监听对象
     @Override
     public void onClick(View v){
      String strTmp="点击Button02";
      Ev1.setText(strTmp);
     }
    };
   
    //第三种方式(Android1.6版本及以后的版本中提供了)
    public void Btn3OnClick(View view){
  String strTmp="点击Button03";
  Ev1.setText(strTmp);
    }
}

xml文件

view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <Button android:text="Button01"   
            android:id="@+id/Button01" 
            android:layout_width="wrap_content"   
            android:layout_height="wrap_content"> 
    </Button> 
      
    <Button android:text="Button02"   
            android:id="@+id/Button02" 
            android:layout_width="wrap_content"   
            android:layout_height="wrap_content"> 
    </Button> 
      
    <Button android:text="Button03"   
            android:id="@+id/Button03" 
            android:layout_width="wrap_content"   
            android:layout_height="wrap_content" 
            android:onClick="Btn3OnClick"> 
    </Button> 
 
    <EditText android:text="@+id/EditText01"   
            android:id="@+id/EditText01"   
            android:layout_width="wrap_content"   
            android:layout_height="wrap_content"> 
    </EditText> 
</LinearLayout> 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wyw1213/archive/2011/03/27/6282277.aspx

抱歉!评论已关闭.