gpt4 book ai didi

Android PayPal SDK 和 fragment

转载 作者:行者123 更新时间:2023-11-29 02:00:01 25 4
gpt4 key购买 nike

我之前在常规应用中使用过 PayPal SDK。这是我在正常 Activity 中采取的步骤

a) 在 Activity 的 onCreate 上我创建了一个新线程来初始化 PayPal 库

b)如果初始化顺利,我会创建一个 PayPal 按钮并将其添加到我的布局之一

c) 在 PayPal 按钮的 onClick 上,我为用户付款的结果启动了一个新 Activity

d) 在 Activity 的 onActivityResult 上我检查支付是否成功并保存信息

目前为止效果很好,但是当我尝试对 fragment 使用相同的方法时,事情变得一团糟。我的 fragment 有一个布局,其中包含 2 个 EditText 和一个将托管 Paypal 按钮的 LinearLayout

到目前为止,我是这样做的:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
context = (MainActivity) getActivity();
View view = inflater.inflate(R.layout.fragment_layout, container, false);

libraryInitializationThread = new Thread() {
@Override
public void run() {
initLibrary();
// The library is initialized so let's create our CheckoutButton and update the UI.
if (PayPal.getInstance().isLibraryInitialized()) {
hRefresh.sendEmptyMessage(INITIALIZE_SUCCESS);
} else {
hRefresh.sendEmptyMessage(INITIALIZE_FAILURE);
}
}
};
libraryInitializationThread.start();
}

private void initLibrary() {
PayPal pp = PayPal.getInstance();

if (pp == null) {
pp = PayPal.initWithAppID(context, getString(R.string.paypal_sandbox_id), PayPal.ENV_SANDBOX);
pp.setLanguage("en_US"); // Sets the language for the library.
pp.setDynamicAmountCalculationEnabled(false);
}
}

到目前为止,在 pp = PayPal.initWithAppID 上我得到了这个错误:

java.lang.IllegalStateException: Fragment FragmentPayPal{415f43f8} not attached to Activity

现在我的问题是:

  • 我应该在哪里以及如何初始化 paypal 库?

  • 从我的 fragment 中,我可以为结果启动一个 Activity 并捕获 onActivityResult 吗?

谢谢。

最佳答案

实际上,我最终使用的方法是,在我的主要托管 Activity 中,在添加 fragment 之前简单地初始化 paypal 库。通过这种方式,它工作得很好。

关于Android PayPal SDK 和 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13143430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com