zoukankan      html  css  js  c++  java
  • Activity学习(四)——简单切换

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

    Java代码
    // intent很重要,是两个Activity之间的纽带  
    Intent in = new Intent();  
    // 使用intent连接两个Activity,一个参数是当前的上下文(context),还有一个是要切换到的Activity主类  
    in.setClass(this, ActivityB.class);  
    // 跳转  
    startActivity(in);  
            我们先做一个例子,例子很简单,就是从ActivityA切换到ActivityB中去。先看下Activity A的代码,代码中已经写好了注释,看起来比较轻松:
    
    Java代码
    public class ActivityA extends Activity {  
        private Button button;  
          
          
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.layout_for_a);  
      
            // 设置当前的的Activity的标题,以作为标记使用  
            setTitle("这是Activity A");  
      
            // 获取布局文件中的button  
            button = (Button) findViewById(R.id.a_button);  
      
            // 给button设置文字  
            button.setText("A跳B");  
      
            // button添加监听事件  
            button.setOnClickListener(new OnClickListener() {  
      
                @Override  
                public void onClick(View v) {  
                    // TODO Auto-generated method stub  
                    // 调用AtoB  
                    AtoB();  
                }  
            });  
        }  
      
          
        public void AtoB() {  
      
            // intent很重要,是两个Activity之间的纽带  
            Intent in = new Intent();  
      
            // 使用intent连接两个Activity,一个参数是当前的上下文(context),还有一个是要切换到的Activity主类  
            in.setClass(this, ActivityB.class);  
      
            // 跳转  
            startActivity(in);  
        }  
    }  
            再看看要切换到Activity B中去的代码:
    
    Java代码
    public class ActivityB extends Activity {  
        private Button button;  
          
          
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.layout_for_b);  
      
            // 设置当前的的Activity的标题,以作为标记使用  
            setTitle("这是Activity B");  
      
            // 获取布局文件中的button  
            button = (Button) findViewById(R.id.b_button);  
      
            // 给button设置文字  
            button.setText("B跳A");  
      
            // button添加监听事件  
            button.setOnClickListener(new OnClickListener() {  
      
                @Override  
                public void onClick(View v) {  
                    // TODO Auto-generated method stub  
                    // 调用AtoB  
                    BtoA();  
                }  
            });  
        }  
      
          
        public void BtoA() {  
      
            // intent很重要,是两个Activity之间的纽带  
            Intent in = new Intent();  
      
            // 使用intent连接两个Activity,一个参数是当前的上下文(context),还有一个是要切换到的Activity主类  
            in.setClass(this, ActivityA.class);  
      
            // 跳转  
            startActivity(in);  
        }  
    }  
  • 相关阅读:
    TDengine在上海电气储能智慧运维系统中的应用
    一文带你理解TDengine中的缓存技术
    taosAdapter正式发布:支持从OpenTSDB向TDengine无缝迁移
    TDengine 在中节能风力发电运维系统中的落地实践
    格创东智选择 TDengine,实现海量数据实时全生命周期管理
    TDengine 在水电厂畸变波形分析及故障预判系统中的应用
    使用wireshark抓包分析TCP三次握手
    K8s中 蓝绿部署、金丝雀发布、滚动更新汇总
    K8s运维锦囊,19个常见故障解决方法
    一次由 Kubernetes HostPort 引发的服务故障排错记实
  • 原文地址:https://www.cnblogs.com/sage-blog/p/4047886.html
Copyright © 2011-2022 走看看