34.activity携带数据显示跳转
来源:互联网 发布:部落地震法术数据 编辑:程序博客网 时间:2024/06/09 16:51
隐式传递数据通常使用intent.setData(Uri.parse("ldw:canshu"))携带参数。
显示传递数据有2种携带数据的方法一种是intent,另一种是bundle携带参数。
intent方式:
intent方式携带参数:
//数据封装到intent中,前面是参数名后面是参数的值name-value的形式 intent.putExtra("name1", "A"); intent.putExtra("name2", "B");intent方式获取参数:
//从intent对象中取出封装好的数据String name1 = intent.getStringExtra("name1");String name2 = intent.getStringExtra("name2");
bundle方式:
bundle方式携带参数:
//把数据封装到bundle对象中,bundle是以keyvalue的形式传递数据 Bundle bundle = new Bundle(); bundle.putString("name1", "A"); bundle.putString("name2", "B"); //把bundle对象封装到intent对象中 intent.putExtras(bundle);bundle方式获取参数:
Bundle bundle = intent.getExtras();String name1 = bundle.getString("name1");String name2 = bundle.getString("name2");
显示跳转需要配置清单文件,这里面我们准备跳转到SecondActivity
<activity android:name="com.ldw.lifecycle.SecondActivity"/>
第一个activity的代码如下:
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这个是测算" /> <EditText android:id="@+id/name1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="A" /> <EditText android:id="@+id/name2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="B" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转" android:onClick="click" /></LinearLayout>MainActivity.java
package com.ldw.lifecycle;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.EditText;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); System.out.println("第一个onCreate方法调用"); } public void click(View v){ Intent intent = new Intent(this,SecondActivity.class); //数据封装到intent中,前面是参数名后面是参数的值 intent.putExtra("name1", "A"); intent.putExtra("name2", "B"); startActivity(intent); } }
第二个activity的代码如下:
activity_second.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/res" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转到第一个activity" android:onClick="click1" /></LinearLayout>SecondActivity.java
package com.ldw.lifecycle;import java.util.Random;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class SecondActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);Intent intent = getIntent();//从intent对象中取出封装好的数据String name1 = intent.getStringExtra("name1");String name2 = intent.getStringExtra("name2");Random rd = new Random();int result = rd.nextInt(100);TextView res = (TextView) findViewById(R.id.res);res.setText(name1 + "和" + name2 + "的测试结果是" +result);}}
使用bundle传递数据的时候,代码如下,布局文件不需要更改
MainActivity.java
package com.ldw.lifecycle;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); System.out.println("第一个onCreate方法调用"); } public void click(View v){ Intent intent = new Intent(this,SecondActivity.class); //数据封装到intent中,前面是参数名后面是参数的值name-value的形式 //intent.putExtra("name1", "A"); //intent.putExtra("name2", "B"); //把数据封装到bundle对象中,bundle是以keyvalue的形式传递数据 Bundle bundle = new Bundle(); bundle.putString("name1", "A"); bundle.putString("name2", "B"); //把bundle对象封装到intent对象中 intent.putExtras(bundle); startActivity(intent); } }
SecondActivity.java
package com.ldw.lifecycle;import java.util.Random;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;public class SecondActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);Intent intent = getIntent();//从intent对象中取出封装好的数据//String name1 = intent.getStringExtra("name1");//String name2 = intent.getStringExtra("name2");Bundle bundle = intent.getExtras();String name1 = bundle.getString("name1");String name2 = bundle.getString("name2");Random rd = new Random();int result = rd.nextInt(100);TextView res = (TextView) findViewById(R.id.res);res.setText(name1 + "和" + name2 + "的测试结果是" +result);}}
0 0
- 34.activity携带数据显示跳转
- 跳转Activity携带数据
- activity跳转时携带数据:
- Android--Activity在跳转时携带数据
- 黑马Android:Activity在跳转时携带数据
- Intent携带数据切换Activity
- 36.activity返回携带数据
- Androidx学习笔记(50)--- Activity在跳转时携带数据
- 网上请求数据以及跳转携带对象
- android-页面跳转及携带数据
- 页面之间的跳转并携带数据
- 在页面跳转过程中携带数据
- Android之旅第三站——活动(Activity)的携带字符串数据的跳转…
- Android之旅第三站——活动(Activity)的携带Javabean数据的跳转…
- Android之旅第三站——活动(Activity)的携带Bundle数据的跳转…
- 06 Activity显示跳转
- activity显示意图跳转
- Android学习笔记之携带数据跳转页面
- Hibernate学习总结
- ContentProvider实现增删改
- JavaScript事件高级应用
- centOS7下的Nginx的安装和配置
- Android中内容提供者ContentProvider实现数据库增删改查
- 34.activity携带数据显示跳转
- 【leetCode】001Two Sum
- 欢迎使用CSDN-markdown编辑器
- php安装xdebug说明
- Play a game
- js中判断数组的方法
- 【鹅厂面试题】——-关于微信红包取中间值(笔试题)
- jQuery- 工具方法和实例方法
- 关于c++中的vector