Android中的startActivityForResult启动活动并取得返回数据的使用
2016-07-30 13:00
656 查看
1.首先创建一个项目名为:CreateActivity
2.创建一个包名为:com.example.sc.createacitivity
3.创建两个活动分别为:FirstActivity SecondActivity
4.创建活动所对应的布局文件:first_activity second_activity 并且在布局文件中添加一个按钮,两个布局文件基本类似
5.在FirstActivity按钮的单击事件中代码如下:
注意这里启动活动用的是:startActivityForResult
定义两个常量:
6.在FirstActivity中重写父类的onActivityResult事件
7.在SecondActivity按钮的点击事件代码:
注意这里在活动销毁前通过setResult来返回数据
最后调用finish来销毁活动。
8.假设我们不按SecondActivity的按钮,而是按一下Back键怎么办?
那么我们就在SecondActivity中重写父类的onBackPressed事件就好啦
这样就不用怕按Back键了。
效果图就不上传了,因为比较简单...
2.创建一个包名为:com.example.sc.createacitivity
3.创建两个活动分别为:FirstActivity SecondActivity
4.创建活动所对应的布局文件:first_activity second_activity 并且在布局文件中添加一个按钮,两个布局文件基本类似
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button1" /> </LinearLayout>
5.在FirstActivity按钮的单击事件中代码如下:
@Override public void onClick(View v) { Intent intent = new Intent(FirstActivity.this,SecondActivity.class); startActivityForResult(intent,REQUEST_CODE); }
注意这里启动活动用的是:startActivityForResult
定义两个常量:
public final int REQUEST_CODE=1; public final int RESPONE_CODE=2;
6.在FirstActivity中重写父类的onActivityResult事件
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case REQUEST_CODE: { if( resultCode == RESPONE_CODE ){ String strValue = data.getStringExtra("ret_value"); Toast.makeText(this,strValue, Toast.LENGTH_SHORT).show(); } break; } } }
7.在SecondActivity按钮的点击事件代码:
@Override public void onClick(View v) { Intent intent = new Intent(); intent.putExtra("ret_value","SecondActivity"); setResult(RESPONE_CODE,intent); finish(); }
注意这里在活动销毁前通过setResult来返回数据
最后调用finish来销毁活动。
8.假设我们不按SecondActivity的按钮,而是按一下Back键怎么办?
那么我们就在SecondActivity中重写父类的onBackPressed事件就好啦
@Override public void onBackPressed() { Intent intent = new Intent(); intent.putExtra("ret_value","SecondActivity"); setResult(RESPONE_CODE,intent); finish(); }
这样就不用怕按Back键了。
效果图就不上传了,因为比较简单...
相关文章推荐
- Android返回数据给上一个活动-startActivityForResult
- Android基础之——startActivityForResult启动界面并返回数据,上传头像
- Android学习之使用startActivityForResult()和onActivityResult()进行跳转并返回数据
- Android基础之——startActivityForResult启动界面并返回数据,上传头像
- Android基础之——startActivityForResult启动界面并返回数据,上传头像
- Android中Activity数据返回(使用startActivityForResult)
- Android基础之——startActivityForResult启动界面并返回数据,上传头像
- android中使用startActivityForResult回传数据
- android中使用startActivityForResult回传数据
- Android中返回数据到前一个Activity — startActivityForResult方法
- android中使用startActivityForResult回传数据
- android开发之使用startActivityForResut获得打开的新窗体关闭后返回的数据
- Android中使用startActivityForResult回传数据
- android中使用startActivityForResult回传数据 或同时销毁几个页面
- android中使用startActivityForResult回传数据
- startActivityForResult,onActivityResult,利用Activity启动返回的数据
- Android中返回数据到前一个Activity — startActivityForResult方法
- android中使用startActivityForResult回传数据
- (转)android中使用startActivityForResult回传数据
- android中使用startActivityForResult回传数据