Android paypal集成

Android paypal集成,android,paypal,Android,Paypal,我已经将paypal集成到我的Android应用程序中。 我有一个主要的活动-和关于活动,我在其中显示贝宝按钮。关于从主活动访问的活动。 Paypal对象在一个线程中初始化,该线程由应用程序对象的OnCreate创建 我现在面临两个问题: 1.Paypal按钮只有在我第一次点击它时才起作用。第二次不起作用。我必须回到主菜单,然后回到关于活动,然后它再次工作。 这是: 将paypal按钮添加到布局的代码: mDonateButton = AppObj.Instance().GetPayPalObj

我已经将paypal集成到我的Android应用程序中。 我有一个主要的活动-和关于活动,我在其中显示贝宝按钮。关于从主活动访问的活动。 Paypal对象在一个线程中初始化,该线程由应用程序对象的OnCreate创建

我现在面临两个问题: 1.Paypal按钮只有在我第一次点击它时才起作用。第二次不起作用。我必须回到主菜单,然后回到关于活动,然后它再次工作。 这是:

将paypal按钮添加到布局的代码:

mDonateButton = AppObj.Instance().GetPayPalObj().getCheckoutButton( mCaller, 
                                                                            PayPal.BUTTON_152x33, 
                                                                            CheckoutButton.TEXT_PAY );
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(   LayoutParams.WRAP_CONTENT, 
                                                                    LayoutParams.WRAP_CONTENT );
mDonateButton.setLayoutParams(params);
mDonateButton.setGravity( Gravity.CENTER_HORIZONTAL );
mDonateButton.setOnClickListener( this );

LinearLayout container = (LinearLayout) findViewById( R.id.donateLayout );
container.addView(mDonateButton);
OnClick相关代码:

                PayPalPayment newPayment = new PayPalPayment();
                newPayment.setSubtotal(new BigDecimal(Integer.parseInt(info)));
                newPayment.setCurrencyType("USD");
                newPayment.setRecipient("xxx@xxx.com");
                newPayment.setPaymentType(PayPal.PAYMENT_TYPE_NONE);
                newPayment.setMerchantName("xxx");
                Intent paypalIntent = PayPal.getInstance().checkout(newPayment, mCaller);
                (mCaller).startActivityForResult(paypalIntent, 1);
  • 第二个问题是。。。。由于我在BG中初始化了paypal obj,如果我在paypal完成初始化之前访问About活动(其中创建了paypal按钮),那么我会崩溃。。。。。。 有什么想法吗
  • 谢谢
    Yoav

    如果你还在寻找答案,我有一个

    如果您查看
    getcheckburatton
    方法,它将
    上下文
    作为参数,因此当
    活动
    为时,例如当您启动另一个
    活动时发生的暂停时,
    checkburatton
    的实例不知何故丢失

    我通过在活动的onResume中使用
    updateButton
    方法修复了此问题

        @Override
        protected void onResume() {
            /**
             * The CheckoutButton has to be updated each time the Activity is
             * resumed, otherwise the onClickListener of CheckoutButton will not work
             **/
            if (mCheckOutBtn != null && (mCheckOutBtn instanceof CheckoutButton))
                mCheckOutBtn.updateButton();
            super.onResume();
        }
    

    考虑到您已初始化
    PayPal
    库,并在
    onCreate
    Activity
    checkburatton
    ,此功能正常运行

    您找到解决方案了吗?