Android(安卓)activity的回传数据
16lz
2021-01-26
1 package com.example.myact3; 2 3 import android.content.Intent; 4 import android.os.Bundle; 5 import android.support.v7.app.ActionBarActivity; 6 import android.view.View; 7 import android.view.View.OnClickListener; 8 import android.widget.Button; 9 import android.widget.TextView;10 /**11 * Android activity的回传数据12 * @author shaobn13 *14 */15 public class MainActivity extends ActionBarActivity {16 private Button button; 17 private TextView tv;18 private static final int REQUEST = 1;19 @Override20 protected void onCreate(Bundle savedInstanceState) {21 super.onCreate(savedInstanceState);22 setContentView(R.layout.activity_main);23 button = (Button)this.findViewById(R.id.button1);24 tv = (TextView) this.findViewById(R.id.textView1);25 button.setOnClickListener(new OnClickListener() {26 27 @Override28 public void onClick(View arg0) {29 // TODO Auto-generated method stub30 Intent intent = new Intent(MainActivity.this,MainActivity2.class);31 intent.putExtra("text", tv.getText());32 //此方法发出请求携带自己的自已的请求码,方便回来时验证33 startActivityForResult(intent,REQUEST);34 }35 });36 }37 //requestCode 请求码,目的是和发出请求的activity的请求码相一致38 //resultCode 响应码,目的是与本activity设置的响应码一致才接收数据。39 //data 第二个页面传递过来的intent对象40 @Override41 protected void onActivityResult(int requestCode, int resultCode, Intent data) {42 // TODO Auto-generated method stub43 super.onActivityResult(requestCode, resultCode, data);44 if(resultCode==2){45 if(requestCode==REQUEST){46 String string = data.getStringExtra("response");47 this.tv.setText(string);48 }49 }50 }51 52 }
1 package com.example.myact3; 2 3 import android.content.Intent; 4 import android.os.Bundle; 5 import android.support.v7.app.ActionBarActivity; 6 import android.view.View; 7 import android.view.View.OnClickListener; 8 import android.widget.Button; 9 import android.widget.TextView;10 11 public class MainActivity2 extends ActionBarActivity {12 private TextView tv;13 private Button button;14 @Override15 protected void onCreate(Bundle savedInstanceState) {16 super.onCreate(savedInstanceState);17 setContentView(R.layout.activity_main_activity2);18 button = (Button) this.findViewById(R.id.button1);19 tv = (TextView) this.findViewById(R.id.textView1);20 tv.setText("olympic games");21 button.setOnClickListener(new OnClickListener() {22 23 @Override24 public void onClick(View arg0) {25 // TODO Auto-generated method stub26 Intent intent = new Intent();27 intent.putExtra("response", tv.getText());28 //回传给之前获得焦点的activity29 setResult(2, intent);30 //结束声明周期31 finish();32 }33 });34 35 }36 }
第二个页面的可以new Intent(),那默认使用的就是之前activit的请求码。
转载于:https://www.cnblogs.com/assassin666/p/4797814.html
更多相关文章
- Android(安卓)Annotations+Retrofit+Rxjava2+okhttp3+MVP框架搭
- Retrofit2 ,Dagger2等常用框架注解功能介绍
- Android(安卓)UI之Notification
- Android(安卓)架构师之路22 响应式编程RxJava 整体变换
- Android中文翻译 - AbstractAccountAuthenticator概述
- 让用户不再遭遇ANR
- Android版本适配:9.0 Pie(API级别28)
- Retrofit的详解及使用
- Android(安卓)9.0 http请求问题