Android paypal integrare

Am integrat paypal în aplicația mea Android. Am o activitate principală - și despre activitate, în care afișez butonul paypal. Despre activitatea accesată din activitatea principală. Elementul Paypal este inițializat într-un fir creat din obiectul OnCreate al aplicației.

Acum mă confrunt cu două probleme: 1. Butonul Paypal funcționează numai prima dată când fac clic pe el. A doua oară nu funcționează. Trebuie să mă întorc la meniul principal și apoi să mă întorc la activitate, apoi să funcționeze din nou. Aici este:

Cod pentru a adăuga butonul paypal la aspect:

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);

Codul OnClick:

                PayPalPayment newPayment = new PayPalPayment();
                newPayment.setSubtotal(new BigDecimal(Integer.parseInt(info)));
                newPayment.setCurrencyType("USD");
                newPayment.setRecipient("[email protected]");
                newPayment.setPaymentType(PayPal.PAYMENT_TYPE_NONE);
                newPayment.setMerchantName("xxx");
                Intent paypalIntent = PayPal.getInstance().checkout(newPayment, mCaller);
                (mCaller).startActivityForResult(paypalIntent, 1);
  1. A doua ediție am ... Deoarece am init paypal obj în BG, dacă accesez Activitatea Despre (în care butonul paypal a fost creat) ÎNAINTE de plata payal a terminat inițializarea, eu crash ...... Orice idei despre asta?

Mulțumiri Yoav

0
ai u găsi soluția?
adăugat autor Sanket Kachhela, sursa

1 răspunsuri

În cazul în care încă mai cauți un răspuns, am unul

Dacă aveți o privire la metoda getCheckoutButton , este necesar Context ca parametru, atunci când Activity este pentru ex. spuneți Paused ce se întâmplă atunci când porniți un alt Activity , instanța codului CheckoutButton este pierdută cumva.

Am repetat folosind metoda updateButton dinResume a activității

    @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();
    }

Aceasta funcționează având în vedere că ați inițializat biblioteca PayPal și CheckoutButton în onCreate din Activity .

0
adăugat
multumesc ca lucreaza pentru mine :)
adăugat autor Sanket Kachhela, sursa
Android dezvoltatori, România — Moldova
Android dezvoltatori, România — Moldova
27 participanți

Parteneri: ciupacabra.com, @php_ro, @js_ro, @node_ro iOS: @ro_ios Reguli: https://github.com/js-ro/it-telegram/blob/master/RULES.md