博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Activity 跳转 的简单使用day6.1
阅读量:6225 次
发布时间:2019-06-21

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

hot3.png

功能需求:在MainActivity跳转到下一个页面

主页面只有一个按钮控件下一个页面有2个TextView 控件
和一个 Button控件Button 按钮用于 从下一个页面带需要的数据返回MainActivity 页面

1、在res/layout布局好界面 有2个.xml文件 用来 布局 MainActivity 和下一个页面的

界面

代码

activity_main

<RelativeLayout xmlns:android=""

    xmlns:tools=""
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <Button

        android:id="@+id/bt_jump"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="跳转到下一个页面"
        android:onClick="jump"/>
   
     <TextView
        android:id="@+id/back_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/bt_jump"
        />
   

</RelativeLayout>

---------------------------
nextactivity

代码

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android=""
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
   
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="下一个Activity页面"
        android:textSize="50sp"/>
   

    

    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="40sp"/>
   
    <Button
        android:id="@+id/bt_back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="返回MianActivity"
        android:onClick="back_mainactivity"
        />
   
</LinearLayout>

---------------------------------

2、然后在配置清单AndroidManifest.xml文件里 配置要跳转的类

代码

<activity android:name=".NextActivity"></activity>
//.代表当前包 -- 然后 加类名
//如果不要. 就包名.类名

---------------------------------

3、先在MainActivity 实现 跳到下一个页面的 功能

代码

public class MainActivity extends Activity {

private TextView textview;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main); 
  textview = (TextView) this.findViewById(R.id.back_textview);
 }
//跳到下一页的 按钮 监听
 public void jump(View view){
//显式跳转
//Intent -- 意图
//第一个参数 -- 当前类
//第二个参数 -- 要跳到哪个页 -- 类名.class
  Intent intent = new Intent(this, NextActivity.class);
  Bundle bundle = new Bundle();//用 这个 对象 来装 要传输的数据
  //准备 要 传输 到 下一个 activity 页面的 数据
  bundle.putInt("age",18);
  bundle.putString("name","哈哈");
  //把 要传输 的 一起 丢给 intent 带到 下一个 页面
  intent.putExtras(bundle);
  //开始 跳转
  int requestCode = 100;
//startActivityForResult 方法 是 带返回结果的 跳转
  startActivityForResult(intent, requestCode);
//startActivity方法 是不带 返回的 结果的 跳转
    // startActivity(intent);
 }
 
 //重写 一个 函数 (用于 其他 activity 的返回 到这个 activity 页面 的作用)
 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
//requestCode -- 请求码    resultCode -- 结果码
  if(requestCode == 100 && resultCode == 101){
   //接收 activity 传输 过来的 数据
   Bundle bundle = data.getExtras();
//获取 键 -- 对应的值
   String result = bundle.getString("back_data");
   //把 返回 来的 数据 填 到 当前 MianActivity 的TextView 里
   textview.setText(result);
  }
 }

---------------------------------

4、在下一页NextActivity 实现 接收MainActivity 带(通过Bundle 对象)过来的数据

代码

public class NextActivity extends Activity {

private TextView textview;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.nextactivity);
  //接收 MainActivity  发送 过来的 数据
  Intent intent = getIntent();
  //创建 一个Bundle 对象 接收MianActivity传输过来的Bundle对象
//里面装了 要传输过来 的数据
  Bundle bundle = intent.getExtras();
  //获取 相应 键 -- 的值
  int Mian_age = bundle.getInt("age");
  String Mian_name = bundle.getString("name");
  
  textview = (TextView) this.findViewById(R.id.textview);
  
  textview.setText(Mian_name + ":" + Mian_age);
 }
//返回MainActivity的按钮 监听
 public void back_mainactivity(View view){
  Intent intent = getIntent();//第三步
  //创建一个 Bundle 对象 用来 装 返回去 的数据
  Bundle bundle = new Bundle();//第一步
  //把 要 返回 的数据 装进去
  bundle.putString("back_data", "从nextactivity回来了");//第二步
  //通过 intent 来 传输 回去
  intent.putExtras(bundle);//第四步
  int resultCode = 101;
  setResult(resultCode , intent);
  //退出 当前Activity
  finish();
 }

转载于:https://my.oschina.net/u/2542711/blog/600915

你可能感兴趣的文章
最优方案实现同步数据至HUBSPOT
查看>>
vue应用产品之iShow H5编辑器
查看>>
阿里云前端周刊 - 第 17 期
查看>>
是谁传给了constructor参数
查看>>
canvas之路径绘制
查看>>
兼容ie9以下的polyfill类库
查看>>
使用Element-ui开发管理后台
查看>>
基于HTML5快速搭建TP-LINK电信拓扑设备面板
查看>>
IMWeb前端提升营七天学习总结
查看>>
unix文件描述符
查看>>
HTML5设备传感器总结
查看>>
JVM系列-04-JDK自带的管理分析工具
查看>>
videojs系列之二-完善一点点
查看>>
Safari 10默认禁用Flash插件
查看>>
7道常见的数据分析面试题
查看>>
Go语言很好很强大,但我有几个问题想吐槽
查看>>
工作的未来:敏捷人士瑞典大会上午议程回顾
查看>>
“认知计算”如何有效释放数据价值
查看>>
采访与书评 —— 《BDD In Action》
查看>>
Java永久代去哪儿了
查看>>