Android 返回上一個介面重新整理資料

Simon66991發表於2020-09-29

startActivityForResult()

MainActivity

不帶參

	@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        if (requestCode==1){
            //重新整理操作
        }
    }

帶引數

@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
    switch(requestCode){
        case 1:
            if(resultCode==RESULT_OK){
                String returnData = data.getStringExtra("data_return");
                Log.d("FirstActivity,"returnData");
            }
            break;
        default:
    }
}

MainActivity

不帶參

		Intent intent = new Intent(activity, MainActivity.class);
        activity.startActivityForResult(intent,1);
        activity.finish();

帶參

Intent intent = new Intent();
intent.putExtra("data_return","Hello SecondActivity");
setResult(RESULT_OK,intent);
finish();

onResume()生命週期

重寫onResume()

@Override
    protected void onResume() {
        super.onResume();
        //重新獲取資料的邏輯,此處根據自己的要求回去
 
 
 
        //顯示資訊的介面
        setContentView(R.layout.first_layout);
        initView();
    }

onResume是在啟動activity啟動之後才能執行的,也就是恢復執行。程式正常啟動:onCreate()->onStart()->onResume();
正常退出:onPause()->onStop()->onDestory()
一個Activity啟動另一個Activity: onPause()->onStop(), 再返回:onRestart()->onStart()->onResume()
程式按back 退出: onPause()->onStop()->onDestory(),再進入:onCreate()->onStart()->onResume();
程式按home 退出: onPause()->onStop(),再進入:onRestart()->onStart()->onResume();

相關文章