我指的是这个链接
http://developer.android.com/training/in-app-billing/list-iab-products.html
亲爱的, 我必须通过谷歌播放显示我的应用程序的应用程序内产品的价格。 虽然我试图从google play获得价格,如上面的链接所示...
出错" for (String thisResponse : responseList) { "
告诉
"Type mismatch: cannot convert from element type Object to String".
我该如何解决这个错误? 或者我可以通过哪种方式从Google Play获得应用内商品价格?
这是我的代码。
ArrayList skuList = new ArrayList();
skuList.add("000001");
skuList.add("gas");
Bundle querySkus = new Bundle();
querySkus.putStringArrayList("ITEM_ID_LIST", skuList);
String mPackagePrice;
try {
Bundle skuDetails = mService.getSkuDetails(3,
getPackageName(), "inapp", querySkus);
int response = skuDetails.getInt("RESPONSE_CODE");
if (response == 0) {
ArrayList responseList
= skuDetails.getStringArrayList("DETAILS_LIST");
for (String thisResponse : responseList) {
JSONObject object = new JSONObject(thisResponse);
String sku = object.getString("productId");
String price = object.getString("price");
if (sku.equals("000001")) mPackagePrice = price;
}
}
} catch (RemoteException e) {
e.printStackTrace();
}
答案 0 :(得分:0)
您不能保留ArrayList
通用:
ArrayList<String> skuList = new ArrayList<String>();
和
ArrayList<String> responseList = ...
答案 1 :(得分:0)
就像“323go”一样,它会解决你的问题,但之后,如果你使用Eclipse,它会要求你用try / catch包围这个部分来处理jsonException:
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
他们你没事。