activity結束之后刷新之前的activity的內容


點擊添加按鈕之后-----彈出一個新的activity--------在新的activity將數據輸入保存之后,關閉當前的activity回到之前的activity刷新內容

實現:使用onActivityResult

啟動頁:
btnButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                String str=txtEditText.getText().toString();
                intent.putExtra("fromMain", str);
                // startActivity(intent);
                // 啟動需要監聽返回值的Activity,並設置請求碼:requestCode
                startActivityForResult(intent, 1);
            }

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// 當otherActivity中返回數據的時候,會響應此方法
// requestCode和resultCode必須與請求startActivityForResult()和返回setResult()的時候傳入的值一致。
if (requestCode == 1 && resultCode == SecondActivity.RESULT_CODE) {
Bundle bundle=data.getExtras();
String strResult = bundle.getString("result");
Log.i(TAG,"onActivityResult: "+ strResult);
Toast.makeText(MainActivity.this, strResult, Toast.LENGTH_LONG).show();
}
}

 

新頁面關閉時

btnBack.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                Intent intent = new Intent();
                intent.putExtra("result", txtContent.getText().toString());
                setResult(RESULT_CODE, intent);// 設置resultCode,onActivityResult()中能獲取到
                finish();
            }
        });

兩個activity通過intent來通訊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM