Activity之间传递数据的两种形式:
FirstActivity –> SecondActivity :
FirstActivity API : startActivity
SecondActivity –> FirstActivity :
FirstActivity API : startActivityForResult , onActivityResult
SecondActivity API : setResult
FirstActivity :
public class FirstActivity extends BaseActivity {
private static final String TAG = "FirstActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SecondActivity.actionStart(FirstActivity.this, "name", "age");
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return super.onKeyDown(keyCode, event);
}
@Override
protected void onDestroy() {
super.onDestroy();
//杀掉当前进程
Process.killProcess(Process.myPid());
}
// @Override
// protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// super.onActivityResult(requestCode, resultCode, data);
// if (requestCode == 1) {
// if (resultCode == RESULT_OK) {
// String param3 = data.getStringExtra("param3");
// Log.d(TAG, "param3: " + param3);
// }
// }
// }
}
SecondActivity
public class SecondActivity extends AppCompatActivity {
private static final String TAG = "SecondActivity";
public static void actionStart(Context context, String data1, String data2) {
Intent intent = new Intent(context, SecondActivity.class);
intent.putExtra("param1", data1);
intent.putExtra("param2", data2);
//向下一个Activity传递数据
context.startActivity(intent);
// 向上一个Activity传递数据
// Activity activity = (Activity) context;
// activity.startActivityForResult(intent, 1);
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Intent intent = getIntent();
String param1 = intent.getStringExtra("param1");
String param2 = intent.getStringExtra("param2");
Log.d(TAG, "param1: " + param1);
Log.d(TAG, "param2: " + param2);
// intent.putExtra("param3", "sex");
// setResult(RESULT_OK, intent);
// finish();
}
}