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

ArrayListジェネリックを残すことはできません:

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

ArrayList<String> responseList = ...
于 2013-03-22T06:05:22.983 に答える
0

「323go」と同じように問題を解決しますが、Eclipse を使用している場合は、jsonException を処理するために、この部分を try/catch で囲むように求められます。

    } 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 に答える