Инициализировать PayPal только один раз - PullRequest
0 голосов
/ 13 октября 2011

Я разработал функциональность PayPal в своем проекте следующим образом:

public class MypaypalActivity extends Activity implements OnClickListener{

    /** Called when the activity is first created. */
    @Override

public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        LinearLayout mLinLay= new LinearLayout(this);

        setContentView(R.layout.main);

        PayPal pp = PayPal.initWithAppID(this, "APP-

80W284485P519543T",PayPal.ENV_SANDBOX);


        LinearLayout layoutSimplePayment = new LinearLayout(this);

        layoutSimplePayment.setLayoutParams(new LayoutParams(

                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

        layoutSimplePayment.setOrientation(LinearLayout.VERTICAL);

        CheckoutButton launchSimplePayment = pp.getCheckoutButton(this,

                PayPal.BUTTON_118x24, CheckoutButton.TEXT_PAY);

        launchSimplePayment.setOnClickListener( this);

        layoutSimplePayment.addView(launchSimplePayment);

        mLinLay.addView(layoutSimplePayment);

        setContentView(mLinLay);

    }

Это будет работать очень корректно только один раз.Когда я нажимаю кнопку PayPal второй раз, это приложение вылетает.В catlog есть ошибка: вы дважды инициализировали PayPal, поэтому используйте getInstance ();после инициализации.

Что мне для этого сделать?

1 Ответ

2 голосов
/ 13 октября 2011

Эй, это решение для моего вопроса, я сделал это сам.

PayPal pp = PayPal.getInstance();
        if (pp == null) {
            try {
                pp = PayPal.initWithAppID(this, "", PayPal.ENV_NONE);
            } catch (IllegalStateException e) {
                throw new RuntimeException(e);
            }
            pp.setShippingEnabled(false);
        }

спасибо всем ...

...