startActivityForResult、onActivityResult
来源:互联网 发布:好玩的gba游戏 知乎 编辑:程序博客网 时间:2024/06/05 14:49
第一个页面(一般启动、带回调启动)button
第二个页面(一般返回、带结果返回)button
------------------------------------------
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText android:id="@+id/et_main_message" android:layout_width="match_parent" android:layout_height="wrap_content"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <Button android:id="@+id/btn_main_btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="一般启动"/> <Button android:id="@+id/btn_main_btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="回调启动"/> </LinearLayout> </LinearLayout>
activity_second.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText android:id="@+id/et_second_message" android:layout_width="match_parent" android:layout_height="wrap_content"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <Button android:id="@+id/btn_second_btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="一般返回" android:onClick="back1"/> <Button android:id="@+id/btn_second_btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="带结果返回" android:onClick="back2"/> </LinearLayout> </LinearLayout>
MainActivity.java
package com.atguigu.helloworld;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity implements OnClickListener {//将3个视图设置成员变量private EditText et_main_message;private Button btn_main_btn1;private Button btn_main_btn2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 加载视图setContentView(R.layout.activity_main);// 获取视图对象et_main_message = (EditText) findViewById(R.id.et_main_message);btn_main_btn1 = (Button) findViewById(R.id.btn_main_btn1);btn_main_btn2 = (Button) findViewById(R.id.btn_main_btn2);// 设置监听事件 this代表MainActivitybtn_main_btn1.setOnClickListener(this);btn_main_btn2.setOnClickListener(this);}@Overridepublic void onClick(View v) {// 一般启动if (v == btn_main_btn1) {// 创建意图对象Intent intent = new Intent(this, SecondActivity.class);// 读取数据String msg = et_main_message.getText().toString();//--保存数据intent.putExtra("message", msg);// 一般启动startActivity(intent);}// 带回掉的启动if (v == btn_main_btn2) {// 创建意图Intent intent = new Intent(this, SecondActivity.class);// 读取数据--保存数据String msg = et_main_message.getText().toString();intent.putExtra("message", msg);int requestCode = 1;// 带回调启动startActivityForResult(intent, requestCode);}}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == 1 && resultCode == 2) {// 得到返回的结果String result = data.getStringExtra("resultMsg");et_main_message.setText(result);}}}
SecondActivity.java
package com.atguigu.helloworld;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.EditText;public class SecondActivity extends Activity {private EditText et_second_message;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);// 得到视图对象et_second_message = (EditText) findViewById(R.id.et_second_message);// 获取意图对象Intent intent = getIntent();//读取信息String message = intent.getStringExtra("message");//设置信息et_second_message.setText(message);}public void back1(View v) {// 一般返回finish();}public void back2(View v) {int resultCode = 2;//获取意图对象Intent intent = getIntent();//获取信息String value = et_second_message.getText().toString();//设置信息intent.putExtra("resultMsg", value);//设置返回的结果setResult(resultCode, intent);finish();}}
0 0
- startActivityForResult、onActivityResult
- startActivityForResult,onActivityResult
- startActivityForResult+onActivityResult
- 【startActivityForResult】startActivityForResult 和 onActivityResult 问题
- startActivityForResult 和onActivityResult
- startActivityForResult与onActivityResult
- startActivityForResult与onActivityResult
- startActivityForResult与onActivityResult
- Android:startActivityForResult 和 onActivityResult
- startActivityForResult 和 onActivityResult 问题
- startActivityForResult与onActivityResult
- startActivityForResult与onActivityResult
- startActivityForResult 和 onActivityResult 问题
- startActivityForResult与onActivityResult 函数
- startActivityForResult 和 onActivityResult 问题
- startActivityForResult与onActivityResult
- startActivityForResult与onActivityResult
- startActivityForResult和onActivityResult简介
- Cocos2d-x 3.2 Menu菜单的创建
- read unknown number of inputs
- WampServer修改端口号
- 每日工作备份
- Codecademy_python_PygLatin
- startActivityForResult、onActivityResult
- Cocos2D-x3.2 -----多点触控
- 求最大连续字数组和
- python list差集,交集,并集
- Swift语言实现代理传值(RegisterViewController和LoginViewController)
- poj3311 类TSP问题
- 带外数据---详解
- web日志挖掘过程
- 安装centos安装mysql