程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> eclipse-子 activity 結束後不能調用 onactivity 結果函數

eclipse-子 activity 結束後不能調用 onactivity 結果函數

編輯:編程綜合問答
子 activity 結束後不能調用 onactivity 結果函數

我使用下面的代碼:

addNewReceipt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent myIntent = new Intent(v.getContext(), AddReceipt.class);
                myIntent.putExtra("receiptList", receipts);
                startActivityForResult(myIntent, RECEIPT_ADD);
            }
        });
    }
    @SuppressWarnings("unchecked")
    public synchronized void onActivityResult(final int requestCode, int resultCode, final Intent data) 
    {
    if (resultCode == Activity.RESULT_OK) 
    {
     if (requestCode == RECEIPT_ADD)
     {
        receipts = (ArrayList<Receipt>) data.getSerializableExtra("receiptList");
        addReceiptsInListView();
     }
    }
    }

AddReceipt class代碼:

@Override
    public void finish() {
        Intent data = new Intent();
        data.putExtra("receiptList", receipts);
        setResult(RESULT_OK, data); 
        super.finish();
    }
    @SuppressWarnings("unchecked")
    public void onCreateCall()
    {
          done.setOnClickListener(new OnClickListener() 
          {  //receiptAddBtn
                @Override
                public void onClick(View v) 
                {
                    String error = "";
                    Receipt receipt = new Receipt();
                    receipt.comments = comments.getText().toString();
                    receipt.referenceNo = receiptNo.getText().toString();
                    receipt.image = imageSelected;
                    if (receipt.image == null || receipt.referenceNo == "" )
                    {
                        error = "Please input Receipt No. and attach Image";
                        displayAlert(error);
                    }
                    else
                    {
                        receipts.add(receiptCounter,receipt);
                                              finish();
                    }
                }
            });
    }

現在的問題是,當activity 結束後,在之前的類中我調用這個activity ,public synchronized void onActivityResult但是沒有執行。

返回按鈕也沒有結束activity。
哪裡出錯呢?

最佳回答:


參考解決方案:

@Override
    public void finish() {
        Intent data = new Intent();
        data.putExtra("receiptList", receipts);
        setResult(Activity.RESULT_OK, data); 
        super.finish();
    }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved