1
私は次のコードを使用しています。子アクティビティが終了した後にonactivity result関数を呼び出せません
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クラスのコードは以下の通りである、
@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();
}
}
});
}
活動が終了したときに問題が...、で、私はこれを呼び出して、そこから私の以前のクラスでは、この領収書を渡しますアクティビティpublic synchronized void onActivityResult
決して動作しません。
戻るボタンも終了していません。
私が間違っている場所を教えてください。
よろしく
を解決するには、それも全くonActivityResult入るんでしょうか? (レスポンスコードなどに関係なく) – Soham
は 'onActivityResult(...)'が呼び出されていますか?おそらく別の 'resultCode'を使っているのでしょうか? – triad
はまったく呼び出されませんでした..ああ素晴らしいです、それは以下のコードで動作しました。以前は以前と同じように笑を探しています! –