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;