一、Activity生命周期
当activity完全被覆盖时onpause->onstop->onrestart->onstart->onresume
若未被完全覆盖则onPause->onResume
二、数据传输
public class MainActivity extends AppCompatActivity {
public static final String BUTTON_TITLE = "button_title";
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
//获取返回数据
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 999 && resultCode == RESULT_OK) {
//setTitle("前一个页面回来了");
setTitle(data.getStringExtra("imooc"));
}
}
private void initViews() {
findViewById(R.id.buttonActivity).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Intent intent = new Intent(MainActivity.this, SecondActivity.class);
//===============第一种=================================传输数据
//intent.putExtra(BUTTON_TITLE,getString(R.string.imooc_title));
//startActivity(intent);
//==============第二种=================================
Bundle bundle = new Bundle();
bundle.putString(BUTTON_TITLE, getString(R.string.imooc_title));
intent.putExtra(BUTTON_TITLE, bundle);
//startActivity(intent);
startActivityForResult(intent, 999);//需要打开的activity关闭时返回数据时使用
//==============第三种=================================
//intent.putExtra(BUTTON_TITLE, new User());
//startActivity(intent);
}
});
}
}
secondActivity
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Log.d(TAG, "onCreate: ");
final Button button = (Button) findViewById(R.id.buttonFinish);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("imooc", "imooc+慕课网");
setResult(RESULT_OK, intent);
finish();
}
});
if (getIntent() != null) {
// String buttonTitle = getIntent().getStringExtra(MainActivity.BUTTON_TITLE);
Bundle bundle = getIntent().getBundleExtra(MainActivity.BUTTON_TITLE);
if (bundle != null) {
String buttonTitle = bundle.getString(MainActivity.BUTTON_TITLE);
button.setText(buttonTitle);
}
/*第三种
User user=(User) (getIntent().getSerializableExtra(MainActivity.BUTTON_TITLE));
button.setText(user.title);*/
}
}