博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 在不同Actitity之间数据传递
阅读量:5230 次
发布时间:2019-06-14

本文共 2322 字,大约阅读时间需要 7 分钟。

本文实现一个简易的人品计算器来实践在不同Actitity之间数据传递

intent的数据传递

从A界面打开B界面 把A界面的数据传递给B界面

1. intent.setData(uri) -- intent.getData();

可以传递简单的文本数据。

2. intent.putExtra(name, value)

8大基本类型的数据,数组都可以传递

String对象 可以传递 charSequence
可以序列化的对象(序列化到文件) Serializable 也可以传递
可以序列化的对象(序列化到内存) Parcelable 也可以传递 bitmap
可以传递 一个map集合 Bundle extras = new Bundle();

本文地址:,转载请注明源地址。

新建项目,MainActivity中的代码如下:

package com.wuyudong.testrp;import android.os.Bundle;import android.app.Activity;import android.content.Intent;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, "名字不能为空", 1).show();            return;        }        Intent intent = new Intent(this, ResultActivity.class);        intent.putExtra("name", name);        startActivity(intent);    }}

activity_main.xml中的代码如下:

界面如下:

输入姓名后,点击按钮跳转到另一个结果界面:activity_result.xml

界面如下:

ResultActivity.java代码如下:

package com.wuyudong.testrp;import java.util.Random;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.ProgressBar;import android.widget.TextView;public class ResultActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_result);        TextView tv_result = (TextView) findViewById(R.id.tv_result);                Intent intent = getIntent();                String name = intent.getStringExtra("name");        Random rm = new Random();        int rp = rm.nextInt(101);        tv_result.setText(name + ":您的人品值为:" + rp);                ProgressBar pb = (ProgressBar)findViewById(R.id.progressBar1);        pb.setProgress(rp);    }}

 

转载于:https://www.cnblogs.com/wuyudong/p/5679191.html

你可能感兴趣的文章
Mac下使用crontab来实现定时任务
查看>>
303. Range Sum Query - Immutable
查看>>
图片加载失败显示默认图片占位符
查看>>
【★】浅谈计算机与随机数
查看>>
《代码阅读方法与实现》阅读笔记一
查看>>
解决 sublime text3 运行python文件无法input的问题
查看>>
javascript面相对象编程,封装与继承
查看>>
Atlas命名空间Sys.Data下控件介绍——DataColumn,DataRow和DataTable
查看>>
Java中正则表达式的使用
查看>>
算法之搜索篇
查看>>
新的开始
查看>>
java Facade模式
查看>>
NYOJ 120校园网络(有向图的强连通分量)(Kosaraju算法)
查看>>
SpringAop与AspectJ
查看>>
Leetcode 226: Invert Binary Tree
查看>>
http站点转https站点教程
查看>>
解决miner.start() 返回null
查看>>
bzoj 2007: [Noi2010]海拔【最小割+dijskstra】
查看>>
BZOJ 1001--[BeiJing2006]狼抓兔子(最短路&对偶图)
查看>>
C# Dynamic通用反序列化Json类型并遍历属性比较
查看>>