【Android】控件和基本事件响应的三种方式

来源:互联网 发布:长城网络还原大师2009 编辑:程序博客网 时间:2024/06/07 17:12

第一种方式

[java] view plaincopy
  1. package com.app;  
  2.   
  3. import android.os.Bundle;  
  4. import android.app.Activity;  
  5. import android.content.Intent;  
  6. import android.view.MotionEvent;  
  7. import android.view.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.widget.Button;  
  10.   
  11. public class MainActivity extends Activity {  
  12.   
  13.     protected void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.activity_main);  
  16.         Button button = (Button) findViewById(R.id.button1);  
  17.         button.setOnClickListener(new OnClickListener() {  
  18.             @Override  
  19.             public void onClick(View v) {  
  20.                 // TODO Auto-generated method stub  
  21.                 Intent intent = new Intent(MainActivity.this,SecondActivity.class);  
  22.                 startActivity(intent);  
  23.             }  
  24.         });  
  25.     }  
  26. }  

第二种方式

[java] view plaincopy
  1. package com.app;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.view.View.OnClickListener;  
  8. import android.widget.Button;  
  9.   
  10.   
  11. public class SecondActivity extends Activity implements OnClickListener{  
  12.     private Button button1;  
  13.     @Override  
  14.     protected void onCreate(Bundle savedInstanceState) {  
  15.         // TODO Auto-generated method stub  
  16.         super.onCreate(savedInstanceState);  
  17.         setContentView(R.layout.activity_welcome);  
  18.         button1 = (Button) findViewById(R.id.button1);  
  19.         button1.setOnClickListener(this);  
  20.     }  
  21.     @Override  
  22.     public void onClick(View v) {  
  23.         // TODO Auto-generated method stub  
  24.         switch (v.getId()) {  
  25.         case R.id.button1:  
  26.             Intent intent = new Intent();  
  27.             intent.setClass(SecondActivity.this, ThirdActivity.class);  
  28.             startActivity(intent);  
  29.             break;  
  30.         default:  
  31.             break;  
  32.         }  
  33.     }  
  34. }  

第三种方式

[java] view plaincopy
  1. package com.app;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.view.View.OnClickListener;  
  8. import android.widget.Button;  
  9.   
  10. public class ThirdActivity extends Activity{  
  11.     private Button_OnClick mbutton = new Button_OnClick();  
  12.     @Override  
  13.     protected void onCreate(Bundle savedInstanceState) {  
  14.         // TODO Auto-generated method stub  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.activity_third);  
  17.         Button button = (Button) findViewById(R.id.button1);  
  18.         button.setOnClickListener(mbutton);  
  19.     }  
  20.     class Button_OnClick implements OnClickListener{  
  21.         @Override  
  22.         public void onClick(View v) {  
  23.             // TODO Auto-generated method stub  
  24.             switch (v.getId()) {  
  25.             case R.id.button1:  
  26.                 Intent intent = new Intent();  
  27.                 intent.setClass(ThirdActivity.this, MainActivity.class);  
  28.                 startActivity(intent);  
  29.                 break;  
  30.   
  31.             default:  
  32.                 break;  
  33.             }  
  34.         }  
  35.     }  
  36. }  
原文在http://blog.csdn.net/jueblog/article/details/11792263