`
qilixiang012
  • 浏览: 200716 次
文章分类
社区版块
存档分类
最新评论

android 触发Button按钮事件的三种方式

阅读更多

1、新创建一个类

2、使用内部类

3、当多个button按钮时,为简化代码而创建的实例listener



//第一种方式

class ButtonClick implements OnClickListener

{

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

//Toast消息不能用在此处

System.out.println("第一种触发按钮Button方式");

}

}

main.xml文件

<?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"

>

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

<Button

android:text="方式1"

android:id="@+id/btn1"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

</Button>

<Button

android:text="方式2"

android:id="@+id/btn2"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

</Button>

<Button

android:text="方式3"

android:id="@+id/btn3"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

</Button>

</LinearLayout>



MainActivity.Java 文件

package com.android.study;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends Activity {

/** Called when the activity is first created. */

private Button btn1;

private Button btn2;

private Button btn3;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

btn1=(Button)findViewById(R.id.btn1);

btn1.setOnClickListener(new ButtonClick()); //给Button注册一个事件

//第二种方式

btn2=(Button)findViewById(R.id.btn2);

btn2.setOnClickListener(new OnClickListener()

{

public void onClick(View v)

{

Toast.makeText(MainActivity.this, "第二种触发按钮Button方式",Toast.LENGTH_LONG).show();

System.out.println("第二种触发按钮Button方式");

}

});//内部匿名类,实现了接口的对象

btn3=(Button)findViewById(R.id.btn3);

btn3.setOnClickListener(listener);

}

//第三种方式

private OnClickListener listener=new OnClickListener()

{

public void onClick(View v){

switch(v.getId())

{

case R.id.btn1:

break;

case R.id.btn2:

break;

case R.id.btn3:

Toast.makeText(MainActivity.this, "第三种触发按钮Button方式",Toast.LENGTH_LONG).show();

System.out.println("第三种触发按钮Button方式");

break;

}

}

};

}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics