1

我参考这个链接

http://developer.android.com/training/in-app-billing/list-iab-products.html

亲爱的大家,我必须从 google play 显示我的应用的应用内产品的价格。虽然我试图从 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();
    }
4

2 回答 2

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();
    }

他们你会没事的。

于 2013-08-21T02:42:36.683 回答
0

你不能离开ArrayList通用:

ArrayList<String> skuList = new ArrayList<String>();

ArrayList<String> responseList = ...
于 2013-03-22T06:05:22.983 回答