zoukankan      html  css  js  c++  java
  • 03-Android基础知识---03-在 Activity 之间传递参数



    Activity之间传递参数:


      传递简单参数:

     


      传递数据包 bundle:

    TheAty.java:

    package com.imooc.sendargs;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.widget.TextView;
    
    public class TheAty extends AppCompatActivity {
    
        private TextView tv;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_the_aty);
    
            Intent i = getIntent();
            //第二节第一种方式:
            //Bundle data = i.getExtras();
    
            //第二节第二种方式:
            Bundle data = i.getBundleExtra("data");
    
            tv = (TextView) findViewById(R.id.tv);
    
            //第二节Bundle数据包传递:
            tv.setText(String.format("name=%s,age=%d,name1=%s",data.getString("name"),data.getInt("age"),data.getString("name1","leo")));
    
    
    
    
            //获取从MainActivity中传过来的数据,这是第一节简单数据传递:
            //tv.setText(i.getStringExtra("data"));
        }
    }

    MainActivity.java:

    package com.imooc.sendargs;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
             findViewById(R.id.btnStartAty).setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
                     Intent i = new Intent(MainActivity.this,TheAty.class);
                     //传参数到另外一个Activi,这是第一节传递简单数据:
                     //i.putExtra("data","hello jikexueyuan");
    
                     //第二节,传递数据包bundle:
                     Bundle b = new Bundle();
                     b.putString("name","jikexueyuan");
                     b.putInt("age",2);
                     b.putString("name1","iwen");
                     //第二节的第一种方式:
                     //i.putExtras(b);
                     //第二节的第二种方式:
                     i.putExtra("data",b);
    
                     startActivity(i);
                 }
             });
        }
    }

     传递值的对象:

     User.java:

    package com.imooc.sendargs;
    
    import android.os.Parcel;
    import android.os.Parcelable;
    
    import java.io.Serializable;
    
    //public class User implements Serializable{
    public class User implements Parcelable {
        private String name;
        private int age;
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public User(String name,int age){
            this.name = name;
            this.age = age;
        }
    
        @Override
        public int describeContents() {
            return 0;
        }
    
        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(getName());
            dest.writeInt(getAge());
        }
        public static final Creator<User> CREATOR =new Creator<User>() {
            @Override
            public User createFromParcel(Parcel source) {
                return new User(source.readString(),source.readInt());
            }
    
            @Override
            public User[] newArray(int size) {
                return new User[0];
            }
        };
    
    }


    获取Activity的返回参数:

  • 相关阅读:
    c#基础加强版之方法控制流复习-3控制台打印密码
    c#基础加强版之方法控制流复习-2变量是否初始化的问题
    c#基础加强版之方法控制流复习-1关于方法的讲解
    小菜学try语句,又被trouble给catch住了
    JQuery--CSS操作
    JavaScript--DOM操作
    JavaScript--选择器
    JQuery--jQuery对象与DOM对象
    JavaScript--DOM编程
    JDBC--调用函数&存错过程
  • 原文地址:https://www.cnblogs.com/juham/p/15181758.html
Copyright © 2011-2022 走看看