[英]'Both methods have same erasure, yet neither overides the other' method clash error in SkuDetailsResponseListener()
我正在嘗試實施新的應用內計費實施,因為普通驅動器 2 實施似乎已放棄支持。 以下用於創建我的 mSkuDetails 映射的代碼給了我一個奇怪的方法沖突錯誤。 除了 Map 插入行之外,它是從文檔中直接復制的。
List<String> skuList = new ArrayList<> ();
skuList.add("item1");
skuList.add("item2");
SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP);
billingClient.querySkuDetailsAsync(params.build(),
new SkuDetailsResponseListener() {
@Override
public void onSkuDetailsResponse(BillingResult billingResult,
List<SkuDetails> skuDetailsList) {
if (billingResult.getResponseCode() ==
BillingClient.BillingResponseCode.OK && skuDetailsList != null) {
for (SkuDetails skuDetails : skuDetailsList) {
mSkuDetailsMap.put(skuDetails.getSku(), skuDetails);//will use this for purchase calls
}
}
}
});
至少可以說,關於此的錯誤消息沒有幫助。 但是,當我碰巧替換時:
com.android.billingclient.api.SkuDetails//add prefix 'com.android.billingclient.api.'
對於“SkuDetails”的每個實例,像這段代碼中的那些奇怪的錯誤都神奇地清除了。 還要在“購買”的每個實例之前添加前綴:
com.android.billingclient.api.Purchase//also add prefix before Purchase
修復了其他類似的錯誤。
這是帶有兩個替換的工作代碼:
List<String> skuList = new ArrayList<> ();
skuList.add("item1");
skuList.add("item2");
SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP);
billingClient.querySkuDetailsAsync(params.build(),
new SkuDetailsResponseListener() {
@Override
public void onSkuDetailsResponse(BillingResult billingResult,
List<com.android.billingclient.api.SkuDetails> skuDetailsList) {
if (billingResult.getResponseCode() ==
BillingClient.BillingResponseCode.OK && skuDetailsList != null) {
for (com.android.billingclient.api.SkuDetails skuDetails : skuDetailsList) {
mSkuDetailsMap.put(skuDetails.getSku(), skuDetails);//will use this for purchase calls
}
}
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.