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

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

新建一个activity,继承Activity

清单文件中进行配置,添加<activity/>节点

设置名称 android:name=”.类名” 点 代表的是当前包名,也可以不写

 

新建一个布局文件,线性布局,竖直排列

添加<TextView/>控件,设置控件内容水平居中,android:gravity=”center_horizontal”

添加一个<Button/>控件,我想让他占据剩余空间的中央,添加一个<RelativeLayout/>的布局,

<Button/>设置在父控件的中央center_inParent

 

第一个界面里面:

获取到EditText对象的值

获取Intent对象,调用new出来,通过简便方式直接指定,参数:上下文,类字节码

调用Intent对象的putExtra(key,val)方法,传递数据,参数:键值对

调用startActivity(intent)方法,开启

 

第二个界面里面:

获取Intent对象,调用getIntent()方法,获取到传递过来的Intent对象

调用Intent对象的getStringExtra(name)方法,获取传递的String,参数:键

获取Random对象,new出来随机数对象

调用Random对象的nextInt(n),获取随机值,参数:int类型的最大值,0开始要减一

显示进度条,布局文件增加<ProgressBar/>,设置最大值android:max=”100”,代码中获取到这个ProgressBar对象,调用对象的setProgress(p)方法,参数:上面的随机值

 

也可以传递对象,但是这个对象必须序列化

 第一个activity:

package com.tsh.testrp;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.EditText;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 v){        String name=et_name.getText().toString().trim();                Intent intent=new Intent(this,ResultActivity.class);        intent.putExtra("name", name);        startActivity(intent);    }}

第二个activity:

package com.tsh.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 {    private TextView tv_name;    private ProgressBar pb;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_result);        //获取展示数据        tv_name=(TextView) findViewById(R.id.tv_name);        pb=(ProgressBar) findViewById(R.id.pb_result);        Intent intent=getIntent();        String name=intent.getStringExtra("name");        Random random=new Random();        int rp=random.nextInt(101);        tv_name.setText(name+":您的人品值是"+rp);        pb.setProgress(rp);            }}

转载于:https://www.cnblogs.com/taoshihan/p/5317426.html

你可能感兴趣的文章
给大家讲解一下JavaScript与后台Java天衣无缝相结合
查看>>
探索HTML5之本地文件系统API - File System API
查看>>
javascript有用代码块(1)
查看>>
libevent 笔记
查看>>
PHP实现人人OAuth登录和API调用
查看>>
redis源码笔记 - initServer
查看>>
FindBugs工具常见问题
查看>>
ECSHOP报错误Deprecated: preg_replace(): The /e modifier is depr
查看>>
【iOS】iOS之Button segue弹出popOver消除(dismiss)问题
查看>>
java多线程系列5-死锁与线程间通信
查看>>
数据库分库分表
查看>>
腾讯Hermes设计概要——数据分析用的是列存储,词典文件前缀压缩,倒排文件递增id、变长压缩、依然是跳表-本质是lucene啊...
查看>>
小程序模板嵌套以及相关遍历数据绑定
查看>>
Systemd入门教程:命令篇(转)
查看>>
java随机范围内的日期
查看>>
linux包之diff
查看>>
spring事务学习(转账案例)(二)
查看>>
[官方教程] [ES4封装教程]1.使用 VMware Player 创建适合封装的虚拟机
查看>>
http协议与http代理
查看>>
【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例...
查看>>