新建APP实现在Activity之间传递数据的方法,从第一个界面使用putExtra方法传递数据(跳转)至第二个界面;从第一个界面使用Bundle方法传递数据(跳转)至第三个界面;从第四个界面使用传递数据至第一个界面,使用startActivityForResult方法。
activity_main.xml:
activity_main2.xml:
activity_main3.xml:
activity_main4.xml:
代码如下:
MainActivity:
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
EditText EditTxtSolgan1;
EditText EditTxtSolgan2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditTxtSolgan1 = (EditText)findViewById(R.id.editTextSlogan1);
EditTxtSolgan2 = (EditText)findViewById(R.id.editTextSlogan2);//绑定控件
}
public void btnputExtra(View v){
//
String strName = "姓名:李四好";
String strNum = "学号:15453454501";
int intAge = 20;
Intent intent = new Intent(MainActivity.this,Main2Activity.class);//转跳
intent.putExtra("String_name",strName);
intent.putExtra("String_number",strNum);
intent.putExtra("Int_age",intAge);
startActivity(intent);
}
public void btnBundle(View v){
//实例化bundle对象
Bundle bundle = new Bundle();
//向Bundle对象添加数据
bundle.putString("String_name","姓名:王五六");
bundle.putString("String_number","学号:15453454505");
bundle.putInt("age",22);
Intent intent = new Intent(MainActivity.this,Main3Activity.class);
//向intent对象bundle
intent.putExtras(bundle);
startActivity(intent);
}
public void btnStartActivityForResult(View v){
Intent intent = new Intent(MainActivity.this,Main4Activity.class);
startActivityForResult(intent,1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch(requestCode){
case 1:
if(resultCode == RESULT_OK){
String returnedSlogan1 = data.getStringExtra("data_return_Slogan1");
String returnedSlogan2 = data.getStringExtra("data_return_Slogan2");
EditTxtSolgan1.setText(returnedSlogan1);
EditTxtSolgan2.setText(returnedSlogan2);
Log.d("---====FirstActivity===",returnedSlogan1);
}
break;
default:
Log.d("----default---","aaaaaa");
}
}
}
MainActivity2:
package com.example.myapplication;
import android.app.AppComponentFactory;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
TextView txtName = (TextView) findViewById(R.id.textView2);
TextView txtAge = (TextView) findViewById(R.id.textView3);
TextView txtNumber = (TextView) findViewById(R.id.textView4);
Intent intent = getIntent();
String stringName = intent.getStringExtra("String_name");
String stringNumber = intent.getStringExtra("String_number");
int intAge = intent.getIntExtra("Int_age",-1);
Log.d("-===SecondActivity===-",stringName);
Log.d("-===SecondActivity===-",stringNumber);
Log.d("-===SecondActivity===-",String.valueOf(intAge));
txtName.setText(stringName);
txtNumber.setText(stringNumber);
String strAge="年龄:"+String.valueOf(intAge);
txtAge.setText(strAge);
}
}
MainActivity3:
package com.example.myapplication;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class Main3Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.activity_main3);
TextView txtName = (TextView)findViewById(R.id.textView5);
TextView txtAge = (TextView)findViewById(R.id.textView6);
TextView txtNumber = (TextView)findViewById(R.id.textView7);
Bundle bundle = getIntent().getExtras();
String name = bundle.getString("String_name");
String Number = bundle.getString("String_number");
int age = bundle.getInt("age");
txtName.setText(name);
txtName.setTextSize(30);
txtNumber.setText(Number);
txtNumber.setTextSize(30);
String strAge = "年龄:"+String.valueOf(age);
txtAge.setTextSize(30);
txtAge.setText(strAge);
}
}
MainActivity4:
package com.example.myapplication;
import android.content.Intent;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class Main4Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.activity_main4);
Intent intent = new Intent();
intent.putExtra("data_return_Slogan1","Long Live China!!!");
intent.putExtra("data_return_Slogan2","English is the key to the world!!!");
setResult(RESULT_OK,intent);
//使用手工返回
//finish();
}
}