Stripe CardInputWidget возвращает значение NULL - PullRequest
0 голосов
/ 25 апреля 2019

Stripe CardInputWidget возвращает ноль.Как найти обоснование нулевого значения и дополнительную информацию о том, как этого избежать?

Я играю со Stripe в Android min SDK 17 (работает целевой SDK 28 в эмуляторе).

У меня возниклопроблема, при которой CardInputWidget возвращает значение NULL, когда введена действительная карта.Я просто ввожу данные своей карты в виджет для тестирования.

Я проверил, что представление правильно раздуто, однако проблема в том, что .getCard () вызывается, он возвращает ноль независимо от того, что введено вview.

Это java внутри моего фрагмента (step2_ billing.java ):

View view = inflater.inflate(R.layout.fragment_step1_billing, container, false);

final Button next = (Button)view.findViewById(R.id.next_step);

viewPager = (ViewPager) getActivity().findViewById(R.id.checkout_pager);

CardInputWidget mCardView = (CardInputWidget) view.findViewById(R.id.card_multiline);
final Card card = mCardView.getCard();

next.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (card == null){
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setTitle("Card Error");
            builder.setMessage("The card information is incorrect.  Please check again and attempt to submit.");
            builder.setPositiveButton("OK", null);
            AlertDialog dialog = builder.create();
            dialog.show();
        } else {
            viewPager.setCurrentItem(2);
        }
    }
});

XML из макета для CardInputWidget (frag_step1_ биллинг.xml ):

<com.stripe.android.view.CardInputWidget
        android:id="@+id/card_multiline"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingStart="10dp"
        android:paddingEnd="10dp"
        android:layout_marginTop="12dp"
        android:layout_marginStart="25dp"
        android:layout_marginEnd="30dp"
        android:background="@drawable/white_rounded"
        android:theme="@style/LoginEditText"/>

Реализация из приложения Gradle:

    implementation 'com.stripe:stripe-android:8.7.0'

Ожидаемый результат - перейти к следующему фрагменту в viewPager.Результатом является AlertDialog.Я чувствую, что искал все выше и ниже любой информации, но быстро никуда не попадаю.

Есть идеи?

РЕДАКТИРОВАТЬ 1 Мой импорт:

import com.stripe.android.model.Card;
import com.stripe.android.view.CardInputWidget;
...