实例教程十二:为应用添加多个Activity与参数传递

55 阅读2分钟

手机铃声软件-android源代码

www.eoeandroid.com/thread-2111…

-------------------帖子正文---------------

MainActivity效果图

OtherActivity.xml效果图

结果图

 


package cn.itcast.activitys; 

  

import android.app.Activity; 

import android.content.ComponentName; 

import android.content.Intent; 

import android.os.Bundle; 

import android.view.View; 

import android.widget.Toast; 

  

public class MainActivity extends Activity { 

    /\*\* Called when the activity is first created. \*/

    @Override

    public void onCreate(Bundle savedInstanceState) { 

        super.onCreate(savedInstanceState); 

        setContentView(R.layout.main); 

    } 

      

    //Intent --激活组件(Activity),附带数据 

    public void openActivity(View v){ 

            Intent intent \= new Intent(); 

            //只能激活本应用里的Activity 

              

            //传数据 

            //1\. 

            //intent.putExtra("company", "iflytek"); 

            //intent.putExtra("age", 5); 

              

            //2.批量添加传递数据 

            Bundle bundle = new Bundle(); 

            bundle.putString("company", "CSDN"); 

            bundle.putInt("age", 10); 

            intent.putExtras(bundle); 

              

            //第一种方法 

            intent.setClass(this, OtherActivity.class); //设置要激活的组件 

              

            //第二种方法 

            //intent.setClassName(this, "cn.itcast.activitys.OtherActivity"); 

              

            //第三种方法 

            //intent.setComponent(new ComponentName(this, OtherActivity.class)); 

              

            //第四种方法 -- 显式Intent 

            //Intent intent = new Intent(this, OtherActivity.class); 

              

            //跨应用激活Activity 

            //第5种方法-- 

            //intent.setClassName("别的应用的包名", "别的应用的Activity"); 

            //例-- intent.setClassName("cn.itcast.activitys", "cn.itcast.activitys.OtherActivity"); 

                         

            //startActivity(intent); 

              

            //在OtherActivity关闭后,把处理的数据返回给MainActivity 

                //那必须在MainActivity打开时,选择startActivityForResult() 

            startActivityForResult(intent, 200); 

    } 

      

    //用于得到OtherActivity关闭后返回的结果数据 

    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

            String result \= data.getStringExtra("result"); 

            Toast.makeText(this, result, 1).show(); 

    } 

}


package cn.itcast.activitys; 

  

import android.app.Activity; 

import android.content.Intent; 

import android.os.Bundle; 

import android.view.View; 

import android.widget.TextView; 

  

public class OtherActivity extends Activity { 

        private TextView txtShow; 

          

        @Override

        protected void onCreate(Bundle savedInstanceState) { 

                // TODO Auto-generated method stub 

                super.onCreate(savedInstanceState); 

                setContentView(R.layout.other); 

### 结尾

**我还总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料,免费分享给大家。
(包括JavaAndroid开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。**

### **领取方式:关注+点赞+[点击我的GitHub 免费获取](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)!**

![image](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/180cd4c25c974711a934eb3a95e9bdb2~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzIxMjA3NDIwNDUy:q75.awebp?rk3s=f64ab15b&x-expires=1771742633&x-signature=prcKbGwvKtZbbqLLKTD0M70pLU4%3D)