startActivityForResult跳转后回调数据

从AActivity向BActivity跳转后,关闭BActivity并向AActivity回调一些数据:

建立AActivity.java文件:

 1 public class AActivity extends AppCompatActivity {
 2     private Button btnJump;
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_aactivity);
 7         btnJump=findViewById(R.id.jump);
 8         btnJump.setOnClickListener(new View.OnClickListener() {
 9             @Override
10             public void onClick(View view) {
11                 //数据传递
12                 Intent intent=new Intent(AActivity.this,BActivity.class);
13                 Bundle bundle=new Bundle();
14                 bundle.putString("name","霉霉");
15                 bundle.putInt("age",30);
16                 intent.putExtras(bundle);
17                     //返回数据
18                 startActivityForResult(intent,0);//向BActivity跳转
19                 
20             }
21         });
22     }
23 
24     @Override
25     protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
26         super.onActivityResult(requestCode, resultCode, data);
27         Toast.makeText(AActivity.this, data.getExtras().getString("title"), Toast.LENGTH_SHORT).show();
28     }//接收BActivity回调的数据
29 }

对应的activity_aactivity.xml文件为:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="match_parent"
 3     android:layout_height="match_parent"
 4     android:orientation="vertical"
 5     android:padding="20dp">
 6 
 7     <Button
 8         android:id="@+id/jump"
 9         android:layout_width="match_parent"
10         android:layout_height="50dp"
11         android:text="jump"
12         android:textAllCaps="false"/>
13 </LinearLayout>

建立BActivity.java文件:

 1 public class BActivity extends AppCompatActivity {
 2     private TextView TVtitle2;
 3     private Button btnFinish;
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         setContentView(R.layout.activity_bactivity);
 8         TVtitle2=findViewById(R.id.tv_title2);
 9         btnFinish=findViewById(R.id.btn_finish);
10 
11         Bundle bundle=getIntent().getExtras();
12         String name=bundle.getString("name");
13         int age=bundle.getInt("age");//传递数据
14 
15         TVtitle2.setText(name+":"+age);
16 
17         btnFinish.setOnClickListener(new View.OnClickListener() {
18             @Override
19             public void onClick(View view) {
20                 Intent intent=new Intent();
21                 Bundle bundle1=new Bundle();
22                 bundle1.putString("title","I'm back!!");
23                 intent.putExtras(bundle1);
24                 setResult(Activity.RESULT_OK,intent);
25                 finish();//关闭BActivity文件并回调数据
26             }
27         });
28     }
29 }

对应的activity_bactivity.xml文件:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="match_parent"
 3     android:layout_height="match_parent"
 4     android:orientation="vertical"
 5     android:padding="20dp">
 6     <TextView
 7         android:id="@+id/tv_title2"
 8         android:layout_width="wrap_content"
 9         android:layout_height="wrap_content"
10         android:textColor="@color/black"
11         android:textSize="20sp"
12         android:layout_margin="20dp" />
13 
14     <Button
15         android:id="@+id/btn_finish"
16         android:layout_width="match_parent"
17         android:layout_height="wrap_content"
18         android:text="点我回调数据"/>
19 </LinearLayout>

 

上一篇:C# 将二进制字符串保存到本地


下一篇:禁止保存页面