Java 崩溃:Parcelable在写入可序列化对象时遇到IOException

Java 崩溃:Parcelable在写入可序列化对象时遇到IOException,java,android,Java,Android,我遵循流程ipay88开始设置付款对象 payment = new IPayIHPayment(); payment.setMerchantKey(marchantKey); payment.setMerchantCode(marchantCode); payment.setPaymentId(generateId("WoW"));

我遵循流程ipay88开始设置付款对象

payment = new IPayIHPayment();
                        payment.setMerchantKey(marchantKey);
                        payment.setMerchantCode(marchantCode);
                        payment.setPaymentId(generateId("WoW"));
                        payment.setRefNo(generateRefNo());
                        payment.setAmount(amount);
                        payment.setProdDesc(generateDescription());
                        payment.setUserName(nameUser);
                        payment.setUserEmail(emailUser);
                        payment.setUserContact(phoneUser);
                        payment.setRemark(generateRemark());
                        payment.setBackendPostURL(backendUrl);

                        Intent checkoutIntent = IPayIH.getInstance().checkout(payment, ipay88pay.this, new ResultDelegate(), IPayIH.ENV_PRODUCTION);

                        startActivityForResult(checkoutIntent, 1);
和类结果删除:

public class ResultDelegate implements IPayIHResultDelegate, Serializable {

    @Override
    public void onPaymentSucceeded(String s, String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8) {
        showSuccessUpload();
    }

    @Override
    public void onPaymentFailed(String s, String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8) {
        Toast.makeText(context, "Pembayaran gagal. Sila cuba lagi!", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onPaymentCanceled(String s, String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8) {
        Toast.makeText(context, "Pembayaran batal. Sila cuba lagi!", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onRequeryResult(String s, String s1, String s2, String s3) {

    }

    @Override
    public void onConnectionError(String s, String s1, String s2, String s3, String s4, String s5, String s6) {
        Toast.makeText(context, "Masalah hubungan internet. Sila cuba lagi!", Toast.LENGTH_SHORT).show();
    }
}
这是ipay88尝试序列化的接口:

public interface IPayIHResultDelegate {
void onPaymentSucceeded(String var1, String var2, String var3, String var4, String var5, String var6, String var7, String var8, String var9);

void onPaymentFailed(String var1, String var2, String var3, String var4, String var5, String var6, String var7, String var8, String var9);

void onPaymentCanceled(String var1, String var2, String var3, String var4, String var5, String var6, String var7, String var8, String var9);

void onRequeryResult(String var1, String var2, String var3, String var4);

void onConnectionError(String var1, String var2, String var3, String var4, String var5, String var6, String var7);
}

最后得到了这个错误:

Parcelable在写入可序列化对象时遇到IOException(名称={packageid}.ipay88pay$ResultDelegate,原因是:java.io.NotSerializableException:


此外,我确实实现了parcel,但它们都不起作用。任何人都有像我一样的问题。tq。

错误告诉您问题所在;您尝试序列化的对象不可序列化,很可能是因为它包含一个不可实现序列化的变量,并且您没有重写wriite对象和readobject方法


您可以查看有关如何执行此操作的更多信息

您好,谢谢repyl,doc ipay88也没有说明如何实现可序列化。因此,您在ipay88中给出的示例与此不同