前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[android] 在不同的activity之间传递数据

[android] 在不同的activity之间传递数据

作者头像
唯一Chat
发布2019-09-10 11:25:34
2.3K0
发布2019-09-10 11:25:34
举报
文章被收录于专栏:陶士涵的菜地

新建一个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:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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);
        
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-03-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档