このコード行は (String, Serializable) を期待する必要がありますが、代わりに (String, boolean) を期待しています。
intent.putExtra(CheckoutActivity.ZOOZ_INVOICE, invoice);
エラーは次のとおりです。
タイプ インテントのメソッド putExtra(String, boolean) は、引数 (String, ZoozInvoice) には適用されません。
これらの引数に (String, boolean) ではなく (String, Serializable) 署名を付けたい。このようにする必要があります。
CheckoutActivity.ZOOZ_INVOICE = 名前
請求書 = 値
以下のように書いてみました。
intent.putExtra(CheckoutActivity.ZOOZ_INVOICE, invoice(CheckoutActivity.ZOOZ_INVOICE, invoice));
これは Eclipse によって受け入れられ、エラーもコンパイル エラーもありません。ただし、コードが機能しないか、想定どおりに動作しません。
さらに、代わりに「putExtra」を「getIntExtra」に変更しようとしましたが、次のエラーが表示されます。
タイプ インテントのメソッド getIntExtra(String, int) は、引数 (String、ZoozInvoice) には適用されません。
また、「請求書」のタイプを「ブール値」に変更しようとしました。これにより、次の結果が得られます。
タイプの不一致: ZoozInvoice をブール値に変換できません。
と。
プリミティブ型 boolean で addItem (String、int、double、int、String、String) を呼び出せません。
(String, boolean) の代わりに (String, Serializable) をインテントに期待させるにはどうすればよいですか?
参照およびコンテキスト用のコード。
ZooZInvoice invoice = new ZooZInvoice();
invoice.addItem("item1", 1, 0.5, 0, "1", "good choice!");
invoice.addItem("item2", 1, 3, 0, "2", "additional details for item 2");
invoice.addItem("item3", 1, 2, 0, "3", "additional details for item 3");
invoice.addItem("item4", 1, 8, 0, "4", "additional details for item 4");
invoice.setInvoiceNumber("5512-FA");
invoice.setInvoiceAdditionalDetails("Power Ups for user 12345");
intent.putExtra(CheckoutActivity.ZOOZ_INVOICE, invoice);
startActivityForResult(intent, ZooZ_Activity_ID);