android Button實現點擊事件的三種方法

1、使用匿名內部類實現 onClickListener接口,通用;java

2、讓MainActivity實現onClickListener接口,這種方法適合於有多個組件時,這樣用會更加的方便;android

3、在XML文件中的相應組件中定義onClick方法,自定義的方法;app

實現的源碼:ide

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中的組件代碼:this

 
      

 <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"/>
相關文章
相關標籤/搜索