Android Button 的单击事件的三种响应方法
转载(http://blog.csdn.net/hopease/article/details/7293244)
Android(SDK 1.5) Button 的单击事件的三种响应方法( 个人比较推荐第三种):
第一种:个人认为写法不好,不容易看懂。
- package leo.zheng.ButtonClick;
- import android.app.Activity;
- import android.os.Bundle;
- import android.graphics.Color;
- import android.widget.Button;
- import android.widget.TextView;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.util.Log;
- public class ButtonClick extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- final TextView Text = (TextView)findViewById(R.id.ColorView);
- final Button redButton = (Button)findViewById(R.id.Button01);
- final Button greenButton = (Button)findViewById(R.id.Button02);
- redButton.setOnClickListener(
- new OnClickListener()
- {
- public void onClick(View v)
- {
- Text.setBackgroundColor(Color.RED);
- Log.v("Button click", "red");
- }
- }
- );
- greenButton.setOnClickListener(
- new OnClickListener()
- {
- public void onClick(View v)
- {
- Text.setBackgroundColor(Color.GREEN);
- Log.v("Button click","green");
- }
- }
- );
- }
- }
第二种:Activity implements OnClickListener
- package leo.zheng.ButtonClick2;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.util.Log;
- import android.widget.TextView;
- import android.widget.Button;
- public class ButtonClick2 extends Activity implements OnClickListener {
- /** Called when the activity is first created. */
- private TextView textChange;
- private Button button1;
- private Button button2;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- textChange = (TextView)findViewById(R.id.TextView01);
- button1 = (Button)findViewById(R.id.Button01);
- button1.setOnClickListener(this);
- button2 = (Button)findViewById(R.id.Button02);
- button2.setOnClickListener(this);
- }
- public void onClick(View v)
- {
- Log.v("Click", "Button id = " + v.getId());
- switch(v.getId())
- {
- case R.id.Button01:
- textChange.setText("Ok");
- break;
- case R.id.Button02:
- textChange.setText("Cancal");
- break;
- default:
- break;
- }
- }
- }
第三种:个人比较推荐。
- package leo.zheng.ButtonClick3;
- import android.app.Activity;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.util.Log;
- import android.widget.Button;
- import android.widget.TextView;
- import android.view.View;
- import android.view.View.OnClickListener;
- public class ButtonClick3 extends Activity {
- /** Called when the activity is first created. */
- private Button button1;
- private Button button2;
- private TextView colorShow;
- private button1_OnClickListener listener1 = new button1_OnClickListener();
- private button2_OnClickListener listener2 = new button2_OnClickListener();
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- button1 = (Button) findViewById(R.id.Button01);
- button2 = (Button) findViewById(R.id.Button02);
- colorShow = (TextView) findViewById(R.id.TextView01);
- button1.setOnClickListener(listener1);
- button2.setOnClickListener(listener2);
- }
- class button1_OnClickListener implements OnClickListener
- {
- public void onClick(View v)
- {
- Log.v("Click", "Button GREEN");
- colorShow.setBackgroundColor(Color.GREEN);
- }
- }
- class button2_OnClickListener implements OnClickListener
- {
- public void onClick(View v)
- {
- Log.v("Click", "Button BLUE");
- colorShow.setBackgroundColor(Color.BLUE);
- }
- }
- }