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