首页 > 代码库 > Activity学习(四)——简单切换

Activity学习(四)——简单切换

 理论学习Activity之后,我们就来具体的实战,Activity之间相互切换依靠的是“ 意图 ”(Intent),这个 Intent 包含了要跳转到的Activity的一些信息,因为Activity是那些琐碎的页面,我们需要粘合剂( Intent )将这些 Activity连接起来,在程序中Activity启动的方式一般是调用startActivity,代码样式如下:

Java代码
  1. // intent很重要,是两个Activity之间的纽带  
  2. Intent in = new Intent();  
  3. // 使用intent连接两个Activity,一个参数是当前的上下文(context),还有一个是要切换到的Activity主类  
  4. in.setClass(this, ActivityB.class);  
  5. // 跳转  
  6. startActivity(in);  

        我们先做一个例子,例子很简单,就是从ActivityA切换到ActivityB中去。先看下Activity A的代码,代码中已经写好了注释,看起来比较轻松:

Java代码
  1. public class ActivityA extends Activity {  
  2.     private Button button;  
  3.       
  4.       
  5.     @Override  
  6.     public void onCreate(Bundle savedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.layout_for_a);  
  9.   
  10.         // 设置当前的的Activity的标题,以作为标记使用  
  11.         setTitle("这是Activity A");  
  12.   
  13.         // 获取布局文件中的button  
  14.         button = (Button) findViewById(R.id.a_button);  
  15.   
  16.         // 给button设置文字  
  17.         button.setText("A跳B");  
  18.   
  19.         // button添加监听事件  
  20.         button.setOnClickListener(new OnClickListener() {  
  21.   
  22.             @Override  
  23.             public void onClick(View v) {  
  24.                 // TODO Auto-generated method stub  
  25.                 // 调用AtoB  
  26.                 AtoB();  
  27.             }  
  28.         });  
  29.     }  
  30.   
  31.       
  32.     public void AtoB() {  
  33.   
  34.         // intent很重要,是两个Activity之间的纽带  
  35.         Intent in = new Intent();  
  36.   
  37.         // 使用intent连接两个Activity,一个参数是当前的上下文(context),还有一个是要切换到的Activity主类  
  38.         in.setClass(this, ActivityB.class);  
  39.   
  40.         // 跳转  
  41.         startActivity(in);  
  42.     }  
  43. }  

        再看看要切换到Activity B中去的代码:

Java代码
  1. public class ActivityB extends Activity {  
  2.     private Button button;  
  3.       
  4.       
  5.     @Override  
  6.     public void onCreate(Bundle savedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.layout_for_b);  
  9.   
  10.         // 设置当前的的Activity的标题,以作为标记使用  
  11.         setTitle("这是Activity B");  
  12.   
  13.         // 获取布局文件中的button  
  14.         button = (Button) findViewById(R.id.b_button);  
  15.   
  16.         // 给button设置文字  
  17.         button.setText("B跳A");  
  18.   
  19.         // button添加监听事件  
  20.         button.setOnClickListener(new OnClickListener() {  
  21.   
  22.             @Override  
  23.             public void onClick(View v) {  
  24.                 // TODO Auto-generated method stub  
  25.                 // 调用AtoB  
  26.                 BtoA();  
  27.             }  
  28.         });  
  29.     }  
  30.   
  31.       
  32.     public void BtoA() {  
  33.   
  34.         // intent很重要,是两个Activity之间的纽带  
  35.         Intent in = new Intent();  
  36.   
  37.         // 使用intent连接两个Activity,一个参数是当前的上下文(context),还有一个是要切换到的Activity主类  
  38.         in.setClass(this, ActivityA.class);  
  39.   
  40.         // 跳转  
  41.         startActivity(in);  
  42.     }  
  43. }  

Activity学习(四)——简单切换