您的位置:首页 > 移动开发 > Android开发

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

2014-04-09 19:18 423 查看
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);

}

}

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello" />

<Button

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button1" />

<Button

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button2" />

<Button

android:id="@+id/button3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button3"

android:onClick="Btn3OnClick"/>

<EditText

android:id="@+id/editText1"

android:layout_width="match_parent"

android:layout_height="wrap_content" >

<requestFocus />

</EditText>

</LinearLayout>

onClick时不需要通过findviewbyid寻找。

如果多的时候就要通过switch来寻找相关id

大概这样:

public void onClick(View v) {

switch (v.getId()) {

case R.id.bt_pick:

bt_pick就是控件的id号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: