我正在做PayPal付款,因为我必须在onCreate()方法中运行线程,该方法使用Paypal图像初始化Button我正在调用一个函数来验证上面的字段然后触发API,如果用户错误Toast是看起来“......这不是白痴。”但在此之后,当我纠正那个字段并再次点击Btn然后它什么也没做。
Thread libraryInitializationThread = new Thread() {
public void run() {
initLibrary();
// The library is initialised so let's create our CheckoutButton
// and update the UI.
if (PayPal.getInstance().isLibraryInitialized()) {
runOnUiThread(new Runnable() {
public void run() {
/**
* Create our CheckoutButton and update the UI.
*/
PayPal pp = PayPal.getInstance();
/**
* Get the CheckoutButton. There are five
* differentsizes. The text on the button can either
* be of type TEXT_PAY or TEXT_DONATE.
**/
launchChainedPaymentBtn = pp.getCheckoutButton(
BuyDeal.this, PayPal.BUTTON_194x37,
CheckoutButton.TEXT_PAY);
/**
* You'll need to have an OnClickListener for the
* CheckoutButton. For this application, MPL_Example
* implements OnClickListener and we have the
* onClick() method below.
**/
launchChainedPaymentBtn
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// dealResponse
getDealResponseLogic();
}
});
//
BottomBtnsLinearLayout
.addView(launchChainedPaymentBtn);
Log.v("Btn added ", "SuccessFully...");
Flag = true;
}
});
//
//
BottomBtnsLinearLayout.addView(launchChainedPaymentBtn);
Log.v("Btn added ", "SuccessFully...");
// }
// });
Log.i("Lib. initialized", "now...");
/** Calling Thread to add Btn to It! **/
AddPayPalBtn.start();
} else {
Log.i("Cannot Initialize Payment Btn",
"setAPyment Btn..failed due to Lib. initialization..");
}
}
};
libraryInitializationThread.start();
我在我的活动的onCreate()方法中调用了上面的线程。
initLibrary();它让PayPal实例利用互联网,然后设置该实例的一些字段。
我知道我可以通过btn监听器代码调用该线程btn我正在寻找另一种方式。
请...任何帮助将不胜感激......
答案 0 :(得分:1)
试试这个..
创建并开始 thread
内部 onClick()
的{{1}}方法。
<强>例如强>
Button
答案 1 :(得分:0)
我认为这很容易。使用paypal时你必须使用paypal创建按钮,因此paypal提供了一种更新该按钮的方法,即updateButton()你只想调用该方法。 因此,每次点击时,您的按钮都能正常工作。