startActivityForResult数据传递
2015-11-30 17:25
435 查看
主界面代码
另一个界面代码
两个布局代码
activity_main.xml
activitya.xml
在AndroidManifest中注册
<activity
android:name=".ActivityA">
</activity>
package com.xiake.seng; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(this); } @Override public void onClick(View v) { //通过startActivityForResult传送数据,同时MainActivity不失联 Intent intent = new Intent(this, ActivityA.class); intent.putExtra("main1", new int[] { 2, 3 }); startActivityForResult(intent, 2); } //获取其他通过startActivityForResult方法启动的界面的值 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { int msg=data.getIntExtra("activitya1", -1); Log.d("MainActivity接收到的数据", msg+""); } }
另一个界面代码
package com.xiake.seng; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class ActivityA extends Activity implements OnClickListener { int data[] = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_a); Button btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(this); // 接收数据 Intent intent = this.getIntent(); data = intent.getIntArrayExtra("main1"); Log.d("ActivityA接收到的数据", data[0] + ":" + data[1]); } @Override public void onClick(View v) { //跳转到指定页面 Intent intent = new Intent(this, MainActivity.class); int sum = data[0] + data[1]; intent.putExtra("activitya1", sum); // 返回值当前内的方法 this.setResult(100, intent); // 关闭界面进入destroy this.finish(); } }
两个布局代码
activity_main.xml
<RelativeLayout 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="com.xiake.seng.MainActivity" > <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发送到ActivityA" /> </RelativeLayout>
activitya.xml
<RelativeLayout 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="com.xiake.seng.MainActivity" > <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="回到MainActivity" /> </RelativeLayout>
在AndroidManifest中注册
<activity
android:name=".ActivityA">
</activity>
相关文章推荐
- asp.net chart美化+绑定数据--饼图
- linux监控命令nc用法
- redis C#客户端
- windows开机自动运行注册表项
- CentOS 6.5开机无法上网解决办法
- 第十二周 项目1 图基本算法库
- java设计模式----桥接模式
- MBProgressHUD的基本使用2
- 百度地图 显示准确的位置
- Hadoop Ubuntu安装过程
- JavaScript跨域
- Unity3D 4.0新功能:Mecanim动画系统基础教程
- Android 系统名字、版本、API level的对应关系
- ReactJS学习 相关网站
- 1-2-03:其他基本数据类型存储空间大小
- 1-4-11:晶晶赴约会
- 微信公众号与HTML 5混合模式揭秘5——JSSDK开发技巧1
- MBProgressHUD的基本使用2
- 通过百度地图API定位--第三方开源--百度地图(一)
- Android SDK开发范例大全学习笔记——3.1更改宇显示文字标签