安卓初学——界面按钮响应

(一)定义监听,绑定组件

自定义一个类,用来筛选监听的指令

class MyClickedHandle implements View.OnClickListener
{
	public void onClick(View v)
	{
		switch(v.getId())
    	{
    	case R.id.button1:
    		System.out.println("按键一被按下");
    	//	Toast.makeText(this,"按键一启动", 0).show();
    		break;
    	
    	case R.id.button2:
    		System.out.println("按键二被按下");
    	//	Toast.makeText(this,"按键二启动", 0).show();
    		break;		
    	}	
	}
}

public class MainActivity extends Activity {

	Button btn1;
	Button btn2;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		btn1 = (Button) findViewById(R.id.button1);		//	通过 R 文件里头 组件的ID寻找组件
		btn2 = (Button) findViewById(R.id.button2);
		
		btn1.setOnClickListener(new MyClickedHandle());	//	通过创建自己定义的类对象,进行响应调用
		btn2.setOnClickListener(new MyClickedHandle());
	}
}

(二)通过匿名内部类,把组件和事件绑定

把每个组件想要实现的功能定义,放在匿名类下方法实现

public class MainActivity extends Activity {

	Button btn1;
	Button btn2;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		btn1 = (Button) findViewById(R.id.button1);
		btn2 = (Button) findViewById(R.id.button2);
		
		btn1.setOnClickListener( new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				System.out.println("按键一被按下");
	    		Toast.makeText(MainActivity.this,"按键一启动", 0).show();
			}
		});
		
		btn2.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				System.out.println("按键二被按下");
	    		Toast.makeText(MainActivity.this,"按键二启动", 0).show();
			}
		});
	}
}

(三)采用view 对象调用onClick

通过view 需要在 activity_main 下 组件中 加入 onclick 引用的方法名字

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	public void buttonClickShow(View v)
    {
    	switch(v.getId())
    	{
    	case R.id.button1:
    		System.out.println("按键一被按下");
    		Toast.makeText(this,"按键一启动", 0).show();
    		break;
    	
    	case R.id.button2:
    		System.out.println("按键二被按下");
    		Toast.makeText(this,"按键二启动", 0).show();
    		break;		
    	}
    }
}

在这里插入图片描述

(四)在当前Activity实现监听接口

此方法要先使当前Activity继承接口View.OnClickListener

public class MainActivity extends Activity implements View.OnClickListener {

	Button btn1;
	Button btn2;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		btn1 = (Button) findViewById(R.id.button1);
		btn2 = (Button) findViewById(R.id.button2);
		
		btn1.setOnClickListener(this);
		btn2.setOnClickListener(this);
	}
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId())
    	{
    	case R.id.button1:
    		System.out.println("按键一被按下");
    		Toast.makeText(this,"按键一启动", 0).show();
    		break;
    	
    	case R.id.button2:
    		System.out.println("按键二被按下");
    		Toast.makeText(this,"按键二启动", 0).show();
    		break;  		
    	}
	}
}

目前在简单初学安卓知识,gogogogogo,共同努力前行


版权声明:本文为chinesekobe原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。