android Button实现点击事件的三种方法

一、使用匿名内部类实现 onClickListener接口,通用;

二、让MainActivity实现onClickListener接口,这种方法适合于有多个组件时,这样用会更加的方便;

三、在XML文件中的相应组件中定义onClick方法,自定义的方法;

实现的源码:

package com.example.clickbutton;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
//此处为了用第二种方法所以在开始的Activity中实现了Onclicklistener接口;
public class MainActivity extends Activity implements OnClickListener
{

	private Button button,button2,button3,button4;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button=(Button)findViewById(R.id.button1);
		button2=(Button)findViewById(R.id.button2);
		button3=(Button)findViewById(R.id.button3);
		button4=(Button)findViewById(R.id.button4);
		button2.setOnClickListener(this);//第二种方式的button
		button3.setOnClickListener(this);//第二种方式的button

//		第一种:使用匿名内部类:
		button.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Toast.makeText(MainActivity.this , "这是第一个button", 1).show();

			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
//	第二种:让MainActivity implements OnClickListener 接口,这样就可以如下写了:

	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.button2:
			Toast.makeText(MainActivity.this , "这是第二个button", 1).show();
			break;
		case R.id.button3:
			Toast.makeText(MainActivity.this , "这是第三个button", 1).show();
			break;

		default:
			break;
		}

	}
// 第三种是用xml定义(绑定)一个onClickListener事件
	public void showMessage(View v){
		Toast.makeText(MainActivity.this, "第三种方法实现事件绑定的button", 1).show();
	}

}

第三种在XML中的组件代码:

 <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/button3"
        android:text="@string/button4"
        android:onClick="showMessage"/>
时间: 2024-08-16 18:18:35

android Button实现点击事件的三种方法的相关文章

Unity NGUI监听按钮点击事件的三种方法

NGUI版本:3.6.5 1.直接实现OnClick方法: 创建一个脚本,在脚本中实现OnClick()方法,绑定该脚本到按钮上,点击时就会实现OnClick函数内容: 2.使用SendMessage: 选择按钮后,打开Component——NGUI——Interaction,选择Button Message,为按钮添加一个UIButton Message组件: 然后设置UIButton Message中的参数即可: Target:接收按钮消息的游戏对象: Function Name:接收按钮消

监听按钮点击事件的三种方式实现及调试信息输出的三种方式实现

监听按钮点击事件的三种方式实现: 1.匿名内部类 2.外部独立类 3.接口实现 package com.example.button; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View;

Android代码学习--点击事件的几种写法

由来:常规的写法参见<写一个apk>,每次点击按钮,按钮先查找文本框等元素,然后再操作,其实查找操作是很费时的操作,因此将该定义放到Activity的onCreate中:Oncreate只会执行一次,这样Activity一旦执行,就先创建好控件们了. 第二种方法:通过匿名内部类的方法:就是button.setOnClickListener(new OnClickListener(){ //实现OnClickListener接口 @Override public void onClick(Vie

Android TextView里直接显示图片的三种方法

方法一:重写TextView的onDraw方法,也挺直观就是不太好控制显示完图片后再显示字体所占空间的位置关系.一般如果字体是在图片上重叠的推荐这样写.时间关系,这个不付源码了. 方法二:利用TextView支持部分Html的特性,直接用api赋图片.代码如下: //第一种方法在TextView中显示图片 String html = "<img src='" + R.drawable.circle + "'/>"; ImageGetter imgGett

Android成长之路-实现监听器的三种方法

第一种:  在Test类中  定义一个类接口OnClickListener 第二种:直接在Test类上写一个接口 其中的this相当于new OnClickListener()对象, 即class test 中的一个对象, 而如果要用这种方式的话,public void onClick 方法必须写在该test类中, 且在开头使用implements OnClickListener, 即this对象可以直接调用该方法 第三种:  匿名内部类 Android成长之路-实现监听器的三种方法

android加载大量图片内存溢出的三种方法

android加载大量图片内存溢出的三种解决办法 方法一:  在从网络或本地加载图片的时候,只加载缩略图. /** * 按照路径加载图片 * @param path 图片资源的存放路径 * @param scalSize 缩小的倍数 * @return */ public static Bitmap loadResBitmap(String path, int scalSize) { BitmapFactory.Options options = new BitmapFactory.Option

Android Button 注册点击事件

Android Button控件处理点击事件 总共有四种方式 第一种,个人认为最方便的一种,像HTML和JS那样直接注册 <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="BUTTON" <!-- 在这里注册了onClick的回调函数

Android Day01-Android按钮点击事件的4种写法

按钮点击事件,说白了就一个方法,setOnClickListener(OnClickListener). 只要传递的参数只要是OnClickListener接口的子类即可,很容易想到的2种实现方式就是匿名内部类和定义一个类实现这个接口.另外还有2种实现方法,有必要着重讲一下: 1.让Activity自身实现OnClickListener接口,传递setOnClickListener参数用this. 然后在onClick(View v)方法中,判断事件源id. switch(v.getId())

Button点击事件的四种方法

1.匿名内部类 Button btn_1 = (Button) findViewById(R.id.btn_1); //1.匿名内部类 btn_1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.i("匿名内部类", "点击事件"); } }); 2.主类中(Activity活动)实现View.OnClickListener接口.在Activ