0

このコード行は (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);
4

2 に答える 2