私はPaypalの画像でボタンを初期化するonCreate()メソッドでスレッドを実行する必要があるため、Paypalの支払いを行っています。ユーザーが間違ったToastが表示された場合、上記のフィールドを検証してからAPIを起動する関数を1つ呼び出しています。 ...これは空白ではありません。」しかし、この後、そのフィールドを修正してもう一度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() メソッドで上記のスレッドを呼び出しました。
dealResponseLogic() のコードは検証のみを扱います。
initLibrary(); インターネットを利用する PayPal インスタンスを取得し、そのインスタンスのいくつかのフィールドを設定します。
私は別の方法を探している btn Listener コード btn からそのスレッドを呼び出すことができることを知っています。
お願いします...どんな助けでも大歓迎です...