[英]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.