私はAndroidのアプリ化サービスにまったく慣れていないので、少し複雑なようです。実装するための初期手順はすべて実行しましたが、購入状態で立ち往生しています(そう思う)。リストビューとonitemクリックリスナーでこれを行いました:
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
purchaseposition= position;
if(list.get(position).getPurchase().contentEquals("Buy")){
val = billingService.requestPurchase("android.test.purchased", payloadContents);
}else{
SharedPreferences.Editor editor = preference.edit();
editor.putInt("URLPOSITION", position);
editor.commit();
Intent quiz=new Intent("com.powergroupbd.appbil.QUIZACTIVITY");
startActivity(quiz);
}
}
つまり、リスト ビューに「購入」というテキストが含まれている場合、テスト購入 ID を使用して購入するように市場に要求を送信しています。購入が成功した場合は、リスト ビューのテキストを「購入」から変更します。 「プレイ」してクイズをプレイできるようにします。しかし、これは私が何も見逃したと思う部分です。購入状態の変更で、これを行うために次のコードを書きました。
@Override
public void onPurchaseStateChange(PurchaseState purchaseState,
String itemId, int quantity, long purchaseTime,
String developerPayload) {
if (Consts.DEBUG) {
Log.i("Tag", "onPurchaseStateChange() itemId: " + itemId + " "
+ purchaseState);
}
if (purchaseState == PurchaseState.PURCHASED) {
ownedItems.add(itemId);
list.get(purchaseposition).setPurchase("Play");
}
// YOU can also add other checks here
}
しかし、それはリストビューのテキストを変更することはなく、クイズをプレイすることもできません。どうすればこれを行うことができるか、どこに間違いがありますか? ありがとう