【发布时间】:2021-03-28 13:14:55
【问题描述】:
尝试从 Stripe Android SDK 加载条带活动时出现构建错误。
import androidx.appcompat.app.AppCompatActivity;
import com.stripe.android.PaymentSession;
import com.stripe.android.PaymentSessionConfig;
import com.stripe.android.PaymentSessionData;
import com.stripe.android.view.AddPaymentMethodActivityStarter;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.Size;
import android.os.Bundle;
import android.content.Intent;
public class HostActivity extends AppCompatActivity {
private PaymentSession paymentSession;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
paymentSession = new PaymentSession(
this,
createPaymentSessionConfig()
);
paymentSession.init(createPaymentSessionListener());
}
private void launchPaymentMethodsActivity() {
new AddPaymentMethodActivityStarter(this).startForResult(
AddPaymentMethodActivityStarter.Args.Builder()
.setShouldAttachToCustomer(true)
.setShouldRequirePostalCode(true)
.build()
);
}
@NonNull
private PaymentSession.PaymentSessionListener createPaymentSessionListener() {
return new PaymentSession.PaymentSessionListener() {
@Override
public void onCommunicatingStateChanged(
boolean isCommunicating
) {
// update UI, such as hiding or showing a progress bar
}
@Override
public void onError(
int errorCode,
@NonNull String errorMessage
) {
// handle error
}
@Override
public void onPaymentSessionDataChanged(
@NonNull PaymentSessionData data
) {
data.getPaymentMethod();
}
};
}
@NonNull
private PaymentSessionConfig createPaymentSessionConfig() {
return new PaymentSessionConfig.Builder()
.build();
}
}
产生的错误是
error: cannot find symbol
AddPaymentMethodActivityStarter.Args.Builder()
^
symbol: method Builder()
location: class Args
startForResult 需要“com.stripe.android.view.AddPaymentMethodActivityStarter.Args”作为输入,Stripe 的文档说“可以使用 Args 指定活动并使用 Args.Builder 构建活动。”但是与其他在线示例类似,在引用时似乎找不到 Builder() 构造函数。
我已经初始化了客户会话,我只想打开 Stripe Activity 以添加新的付款方式。启动 AddPaymentMethodActivity 的正确方法是什么?
【问题讨论】: