iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android 中怎么实现Activity 间传递参数
  • 572
分享到

Android 中怎么实现Activity 间传递参数

androidactivity 2023-05-30 19:05:34 572人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关Android 中怎么实现Activity 间传递参数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.传递简单数据在A Activity中findViewByI

这篇文章将为大家详细讲解有关Android 中怎么实现Activity 间传递参数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1.传递简单数据

在A Activity中

findViewById(R.id.startBActicityBtn).setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        Intent i = new Intent(MainActivity.this,TheActivity.class);//        对基础的数据类型进行传递       i.putExtra("data","我是国人");       startActivity(i);      }    });

在B Activity中接受数据

  tv =(TextView)findViewById(R.id.TheTextView);    Intent i = getIntent();    tv.setText(i.getStringExtra("data"));

这种传值就是传递基本的数据类型

2.传递数据 包Bundle

在A Activity中

 findViewById(R.id.startBActicityBtn).setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        Intent i = new Intent(MainActivity.this,TheActivity.class);        Bundle bundle = new Bundle();        bundle.putString("name","qll");        bundle.putInt("age",3);//        i.putExtras(bundle); //        另种传递方式        i.putExtra("data",bundle);        startActivity(i);      }    });  }

在B Activity中接受数据     

 tv =(TextView)findViewById(R.id.TheTextView);    editText = (EditText) findViewById(R.id.editText3);    Intent i = getIntent();//    Bundle date = i.getExtras();//     接受方式不同    Bundle date = i.getBundleExtra("data");    tv.setText(String.fORMat("name=%s,age=%d",date.getString("name"),date.getInt("age")));

这总传递方式类似iOS中传递字典数据类型过来 。

3.传递值对象

自定义一个User类,传递自定义类需要对类进行序列化

用Serializable进行序列化

这种方法只需要类实现Serializable接口就可以了

User 类

import java.io.Serializable;public class User implements Serializable{  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;  }

在A Activity中   

  findViewById(R.id.startBActicityBtn).setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        Intent i = new Intent(MainActivity.this,TheActivity.class);        i.putExtra("user",new User("qll",24));        startActivity(i);      }    });  }

在B Activity中

 tv =(TextView)findViewById(R.id.TheTextView); User user = (User)i.getSerializableExtra("user"); tv.setText(String.format("user info(name=%s,age=%d)",user.getName(),user.getAge()));

用Parcelable实现

同样的需要实现Parcelable接口

User 类

package com.example.wyhaiapple.transferdata1;import android.os.Parcel;import android.os.Parcelable;import android.text.ParcelableSpan;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[size];    }  };}

在A Activity中 与上面的相同

在B Activity中

 tv =(TextView)findViewById(R.id.TheTextView); User user = (User)i.getParcelableExtra("user"); tv.setText(String.format("user info(name=%s,age=%d)",user.getName(),user.getAge()));

4.获取 Activity 的返回参数

在B Activity中

protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_the);    tv =(TextView)findViewById(R.id.TheTextView);    editText = (EditText) findViewById(R.id.editText3);    findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        Intent i = new Intent();        i.putExtra("data",editText.getText().toString());        setResult(1,i);        finish();      }    });  }}

在A Activity中

startActivityForResult(i,0);  @Override  protected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    textView.setText("返回的值:"+data.getStringExtra("data"));  }

关于Android 中怎么实现Activity 间传递参数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Android 中怎么实现Activity 间传递参数

本文链接: https://www.lsjlt.com/news/220401.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android 中怎么实现Activity 间传递参数
    这篇文章将为大家详细讲解有关Android 中怎么实现Activity 间传递参数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.传递简单数据在A Activity中findViewByI...
    99+
    2023-05-30
    android activity
  • Android应用中怎么实现Activity之间的数据传递
    本篇文章为大家展示了Android应用中怎么实现Activity之间的数据传递,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MainActivitypublic class MainActivity...
    99+
    2023-05-31
    android roi activity
  • 怎么使用Android registerForActivityResult实现两个Activity间数据传递
    这篇文章主要介绍“怎么使用Android registerForActivityResult实现两个Activity间数据传递”,在日常操作中,相信很多人在怎么使用Android registerForActivityR...
    99+
    2023-07-05
  • 在Android中怎么实现与Activity的数据传递
    在Android中怎么实现与Activity的数据传递?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用Inten的putExtra传递第一个Activity中//创建意图对象...
    99+
    2023-05-31
    activity android roi
  • Android中怎么实现Activity 间的传值
    今天就跟大家聊聊有关Android中怎么实现Activity 间的传值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android 中两个Activity 之间的传值问题在Andro...
    99+
    2023-05-30
    android activity
  • Android registerForActivityResult新用法实现两个Activity间数据传递
    目录前言startActivityForResult用法Activity Results API介绍registerForActivityResult()常规用法前言 今天在做项目...
    99+
    2023-05-14
    Android registerForActivityResult Activity间数据传递
  • vue中怎么实现组件间参数传递
    vue中怎么实现组件间参数传递,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。举例说明例如:element-ui组件库中使用switch开关...
    99+
    2024-04-02
  • JSP中怎么实现页面间传递参数
    JSP中怎么实现页面间传递参数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。(1)直接在URL请求后添加如:< a href="thexuan.jspact...
    99+
    2023-06-17
  • python文件间传递参数怎么实现
    在Python中,可以使用命令行参数、环境变量、文件等方式在不同的Python文件之间传递参数。1. 命令行参数:可以使用`sys....
    99+
    2023-09-27
    python
  • activity和fragment之间怎么传递数据
    有多种方法可以在Activity和Fragment之间传递数据。以下是一些常用的方法: 通过Bundle:在Activity中可...
    99+
    2024-03-06
    activity fragment
  • Android中怎么使用Activity和Fragment传递数据
    Android中怎么使用Activity和Fragment传递数据,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。第一种方式,也是最常用的方式,就是使用Bundle来传递参数&n...
    99+
    2023-05-30
    fragment activity android
  • Activity之间数据回传【Android、activity回传、结合实例】
    任务要求 在Android应用中,有时需要从一个Activity向另一个Activity传递数据,并在第二个Activity处理后将结果传递回第一个Activity。 这种情况下,我们可以使用star...
    99+
    2023-10-18
    android activity
  • C++ thread传递参数怎么实现
    在C++中,可以通过以下几种方式传递参数给线程: 传递参数作为线程函数的参数: #include <iostream>...
    99+
    2024-02-29
    C++
  • postman中实现传递@RequestBody参数
    目录传递@RequestBody参数Java项目中类:(POST请求方法)postman中请求的参数小结一下@RequestBody修饰的对象传参数例如有如下接口那么在postman...
    99+
    2024-04-02
  • iOS开发中怎么实现多参数传递
    在iOS开发中,可以通过以下几种方式实现多参数传递:1. 使用NSDictionary或NSMutableDictionary:将多...
    99+
    2023-09-14
    iOS
  • VUE怎么实现路由传递参数
    本篇内容介绍了“VUE怎么实现路由传递参数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在路由时传递参数,一般有两种形式,一种是拼接在url...
    99+
    2023-07-04
  • C#怎么实现按值传递参数
    这篇文章主要讲解了“C#怎么实现按值传递参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#怎么实现按值传递参数”吧!按值传递参数这是参数传递的默认方式。在这种方式下,当调用一个方法时,会...
    99+
    2023-06-17
  • angular中如何实现控制器之间传递参数
    这篇文章将为大家详细讲解有关angular中如何实现控制器之间传递参数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在angular中,每个controller(控制器)...
    99+
    2024-04-02
  • 如何用vue实现组件间参数传递
    这篇文章主要介绍“如何用vue实现组件间参数传递”,在日常操作中,相信很多人在如何用vue实现组件间参数传递问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用vue实现组件间参数传递”的疑惑有所帮助!接下来...
    99+
    2023-07-04
  • C#实现不同窗体之间传递参数
    目录C#不同窗体之间传递参数1.父窗口向子窗口传递参数2.子窗口向父窗口传递参数3.代码说明C#子窗体与父窗体之间的参数传输1.子窗体传父窗体2.父窗体传子窗体总结C#不同窗体之间传...
    99+
    2023-02-26
    C#传递参数 C#不同窗体 C#窗体传递参数
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作