我希望这行代码期望 (String, Serializable) 但它期望 (String, boolean) 代替。
intent.putExtra(CheckoutActivity.ZOOZ_INVOICE, invoice);
错误是:
类型意图中的 putExtra(String, boolean) 方法不适用于参数 (String, ZoozInvoice)。
我希望这些参数具有(String,Serializable)签名而不是(String,boolean)。应该是这样的。
CheckoutActivity.ZOOZ_INVOICE = 名称
发票 = 价值
我试过这样写:
intent.putExtra(CheckoutActivity.ZOOZ_INVOICE, invoice(CheckoutActivity.ZOOZ_INVOICE, invoice));
这被 Eclipse 接受,没有错误,也没有编译错误。但是,该代码无法正常工作或按预期工作。
此外,我尝试将“putExtra”更改为“getIntExtra”,但出现此错误:
类型意图中的方法 getIntExtra(String, int) 不适用于参数 (String, ZoozInvoice)。
我还尝试将“发票”的类型更改为“布尔”。这导致:
类型不匹配:无法将 ZoozInvoice 转换为布尔值。
和。
无法在基本类型布尔值上调用 addItem (String, int, double, int, String, String)。
我怎样才能让 Intent 期望 (String, Serializable) 而不是 (String, boolean) ?
供参考和上下文的代码。
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);