详谈android界面之间数据的传递

不同界面之间,数据的传递是很常用的一个操作,这种数据的携带也是很简单的。

效果:

跳转后:

这个例子很简单,但是我们把第一个界面输入的姓名张三顺利传递到了第二个界面

附代码如下:

主界面:

package com.yy.activity.value;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
  private EditText et_name;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    et_name=(EditText) findViewById(R.id.et_name);
  }

  public void click(View view){
    //获取文本框输入的姓名
    String name=et_name.getText().toString().trim();
    if (TextUtils.isEmpty(name)) {
      Toast.makeText(this, "请输入姓名", Toast.LENGTH_LONG).show();
      return;
    }
    //意图
    Intent intent=new Intent();
    //在同一个应用,因此我们使用显式意图
    intent.setClassName(this, "com.yy.activity.value.ResultActivity");
    //携带字符串数据,注意:八大基本数据类型都可以携带
    intent.putExtra("name", name);
    //激活界面
    startActivity(intent);
  }
}

结果界面:

package com.yy.activity.value;

import java.util.Random;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.widget.TextView;

public class ResultActivity extends Activity {
  private TextView tv_rp;
  private ProgressBar pb;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_result);
    tv_rp=(TextView) findViewById(R.id.tv_rp);
    pb=(ProgressBar) findViewById(R.id.pb);
    //获取传递过来的姓名
    String name=getIntent().getStringExtra("name");
    //随机产生人品
    int rp=new Random().nextInt(101);
    tv_rp.setText(name+":"+rp);
    //设置进度条
    pb.setProgress(rp);
  }
}

以上这篇详谈android界面之间数据的传递就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 深入理解Activity之间的数据传递

    Activity之间是没有办法直接传递数据的.Android的设计原则是,用Intent在不同的Activity和进程之间进行通信,但是通常来讲,Intent中只能存入基本数据类型和系统默认支持的比如Uri之类的.那么对于用户自己定义的数据结构是无法直接用Intent来传送的,如果想要通过Intent来传递自定义数据,可以让数据结构实现Parcelable接口,这样就可以把数据放入Intent.但是Intent的传送效率也不是很高,特别是当传递一些如Bitmap的大数据,曾经在有一次遇到过,用I

  • Android基于Intent实现Activity之间数据传递的方法

    本文实例讲述了Android基于Intent实现Activity之间数据传递的方法.分享给大家供大家参考,具体如下: MainActivity: package com.test.intentdemo; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.Menu; import andro

  • 解析activity之间数据传递方法的详解

    1  基于消息的通信机制 Intent--------boudle,extra用这种简单的形式,一般而言传递一些简单的类型是比较容易的,如int.string等详细介绍下Intent机制Intent包含两部分:1 目的[action]-------要去到哪里去2 内容[category.data]----------路上带些什么,区分性数据和内容性数据简单数据传递: 复制代码 代码如下: Intent intent = new Intent(LoginActivity.this, MainAct

  • Android实现Activities之间进行数据传递的方法

    本文实例讲述了Android实现Activities之间进行数据传递的方法.分享给大家供大家参考.具体分析如下: 首先,先说明一下Activity的启动及关闭: 1. startActivity(Intent intent);  启动Activity        finish();  结束当前Activity 2. startActivityForResult(Intent intent, int requestCode);  以指定的请求码requestCode启动Activity fini

  • Android 不同Activity间数据的传递 Bundle对象的应用

    在应用中,可能会在当跳转到另外一个Activity的时候需要传递数据过去,这时就可能用Bundle对象: 在MainActivity中,有一个导航至BActivity的Intent, Intent 复制代码 代码如下: { Intent intent = new Intent(Context context, Class<?> class); //new一个Bundle对象,并将要传递的数据导入,Bunde相当于Map<Key,Value>结构    Bundle bundle =

  • 详谈android界面之间数据的传递

    不同界面之间,数据的传递是很常用的一个操作,这种数据的携带也是很简单的. 效果: 跳转后: 这个例子很简单,但是我们把第一个界面输入的姓名张三顺利传递到了第二个界面 附代码如下: 主界面: package com.yy.activity.value; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import

  • 获取Android界面性能数据的快捷方法

    目录 探测 界面绘制性能 界面首次绘制完成时间 更快捷的获取activity的启动时间 获取应用冷启动 性能 探测 界面绘制性能 获取界面的绘制性能有很多种方法,比如说 Systrace 但是这种方法 有一个不太好的地方就是使用起来较为复杂, 有没有一种 谷歌官方推荐 的方便一点的方法 ,其实是有的,只需要一个函数 就可以获得layout的时间 非常适合于 我们平时开发中 测试页面性能. //调试界面性能时使用,可打印关键的layout耗时,使用完毕需删除 fun Activity.printP

  • Vue中组件之间数据的传递的示例代码

    Vue中组件的作用域是隔离的,父组件中的数值子组件看不到!也就是说,用angular作比喻,组件的scope天生是scope:()的! 如果父组件需要往子组件中传数据,此时应该使用标签属性: <div id="app"> <my-compo c="886"></my-compo> </div> 子组件中,用props声明这个值即可.并且在template里面可以直接使用{{c}}来获得这个属性,而不需要写为{{this

  • Android 两个Fragment之间的跳转和数据的传递实例详解

    Android  两个Fragment之间的跳转和数据的传递实例详解 作为一个Android的菜鸟,前些天在做项目的时候用到了fragment,需求是从一个Fragment跳转到另一个Fragment,并且还要传递数据,就像Activity的跳转一样.在网上找了好久都没找到很好的列子,最后通过看别人的博客和查文档终于做好了,现在整理一下,希望能帮助有需要的童鞋. 1.首先在第一个Fragment 里面拿到FragmentManger 和FragmentTransaction 代码如下. @Ove

  • 关于Android Activity之间传递数据的6种方式

    使用Inten的putExtra传递 第一个Activity中 //创建意图对象 Intent intent = new Intent(this,TwoActivity.class); //设置传递键值对 intent.putExtra("data",str); //激活意图 startActivity(intent); 第二个Activity中 // 获取意图对象 Intent intent = getIntent(); //获取传递的值 String str = intent.ge

  • Android Activity之间的数据传递方法总结

    前言 在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间数据的传递方法. 1.通过 Intent 传递 我们在进行 Activity 跳转时,是要有 Intent,此时 Intent 是可以携带数据的,我们可以利用它将数据传递给其它Activity.Intent 应该是系统提供的支持类型最广,功能最全面的传递方式了.基本数据类型.复杂数据类型(如数组.集合).自定义数据类型等等都能支持,而且使用起来也不复杂.下面将通过几

  • Android  两个Fragment之间的跳转和数据的传递实例详解

    Android  两个Fragment之间的跳转和数据的传递实例详解 作为一个Android的菜鸟,前些天在做项目的时候用到了fragment,需求是从一个Fragment跳转到另一个Fragment,并且还要传递数据,就像Activity的跳转一样.在网上找了好久都没找到很好的列子,最后通过看别人的博客和查文档终于做好了,现在整理一下,希望能帮助有需要的童鞋. 1.首先在第一个Fragment 里面拿到FragmentManger 和FragmentTransaction 代码如下. @Ove

  • iOS实现两个控制器之间数据的双向传递

    本文为大家分享了iOS控制器之间数据的双向传递,供大家参考,具体内容如下 首先,有两个控制器,分别为控制器A.控制器B. A->B:数据由控制器A传向控制器B,这叫做数据的顺传:数据由控制器B传向控制器A,这叫做逆传. 顺传:一般通过创建目标控制器对象,将数据赋值给对象的成员来完成: 逆传:一般使用代理来实现,其中控制器A是控制器B的代理(控制器A监听控制器B,控制器B通知控制器A). 下面是博主写的简单实现了两个控制间实现数据的双向传递的app的demo: 1.这是界面设计: FirstVie

随机推荐