我有一个应用程序内购买功能,我认为遵循标准流程,但遇到了与按钮 setText() 更新相关的奇怪问题的挑战。\n这是我想要做的:
\nonBillingSetupFinished()我加载 SKus 并希望在按钮中显示价格。\n这并不总是有效,而且调试起来很痛苦,因为 Toast.makeText() 方法不显示任何进度。但最终我可以在模拟器中登录 Google Play 后在模拟器中重现该问题。setText(price)我注意到,如果我在下一行代码中执行按钮,则onBillingSetupFinished()不会执行。我在 logcat 中也没有看到任何内容。它在 后被卡住BillingClientStateListener-Setting Hard code price,永远不会到达BillingClientStateListener-DONE Setting Hard code price\n奇怪的是偶尔它会起作用,但大多数时候它不会。有什么指示可以指导我下一步应该做什么吗?
这是我的代码摘录:
\n布局摘录自:
\n <LinearLayout\n android:layout_width="wrap_content"\n android:orientation="horizontal"\n android:layout_height="wrap_content"\n android:layout_marginTop="2dp"\n android:layout_gravity="center"\n android:gravity="center_horizontal">\n <Button\n android:id="@+id/btn_buy_100coins"\n style="@style/BuyButton250"\n android:layout_width="120dp"\n android:text="@string/buy"\n android:onClick="onClickBuy100"\n />\n <Button\n android:id="@+id/btn_buy_250coins"\n style="@style/BuyButton250"\n android:layout_width="120dp"\n android:text="@string/buy"\n android:layout_marginLeft="15dp"\n android:onClick="onClickBuy250"/>\n\n <Button\n android:id="@+id/btn_buy_700coins"\n style="@style/BuyButton250"\n android:layout_width="120dp"\n android:text="@string/buy"\n android:layout_marginLeft="15dp"\n android:onClick="onClickBuy700"/>\n <TextView\n android:layout_width="50dp"\n android:layout_height="wrap_content"\n android:layout_gravity="center"\n android:text="@string/best_deal"\n android:textColor="@color/blue_neon"\n android:layout_marginLeft="5dp"\n android:textSize="14sp"\n android:textStyle="bold"\n />\n\n …Run Code Online (Sandbox Code Playgroud)