簡體   English   中英

按返回按鈕時活動未發送結果

[英]activity not sending result when pressing back button

我正在使用以下代碼開始我的活動

public void onClick(View v) {

                Intent myIntent = new Intent(v.getContext(), AddReceipt.class);

                startActivityForResult(myIntent, RECEIPT_ADDED);
            }

現在我想從addreceipt類獲取數組或從子活動獲取數據

public synchronized void onActivityResult(final int requestCode, int resultCode, final Intent data) {

             if (resultCode == Activity.RESULT_OK) 
             {
                 if (requestCode == RECEIPT_ADDED)
                 {
                     String abc = "abs";
                 }
             }

         }

調用此函數時,它返回的數據為null,結果代碼為0。如何從子活動中獲取數據。

最好的祝福

要從子活動中獲取結果,您需要在子活動中調用setResult()方法,並在Intent對象中傳遞結果代碼以及可能的任何數據量。 然后,您可以在主要活動的onActivityResult()中捕獲此Intent 希望這可以幫助。

要將數據從子活動傳遞到父活動,請使用以下代碼:

Intent intent= childActivity.getIntent();
intent.putExtra("key","value");  
childActivity.setResult(Activity.RESULT_OK, intent);
childActivity.finish();

如果value是對象列表,請使用Serializable。

現在,如果您按下返回按鈕,則將調用父類的onActivityResult方法,並且您將獲得RESULT_CANCEL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM