2013-08-26 51 views
0

我在google inapp上工作, 下面是我的代码我想要获取我所有inapp产品的所有信息,但如何比较arraylist对象与字符串,它显示for循环错误“can not元素类型的对象转换为字符串”google inapp在android中的详细信息

ArrayList skuList = new ArrayList(); 
     skuList.add("premiumUpgrade"); 
     skuList.add("gas"); 
     Bundle querySkus = new Bundle(); 
     querySkus.putStringArrayList("ITEM_ID_LIST", skuList); 

     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("premiumUpgrade")) 
       { 
        // mPremiumUpgradePrice = price; 
        Log.i("price", price); 
       } else if (sku.equals("gas")) { 
        // mGasPrice = price; 
        Log.i("price", price); 
       } 
      } 
     } 
+1

你可以给我们的错误和相关的崩溃日志? – Poutrathor

+0

它在for循环中,它不允许在for循环中使用responselist,因为它是一个数组列表,它显示“不能将元素类型对象转换为字符串” – pitu

回答

0

好有你试着这样做:将STRING添加的ArrayList的

ArrayList<String> responseList 
       = skuDetails.getStringArrayList("DETAILS_LIST"); 

的定义,因为你没有界定什么是你的数组列表,它可以”内盲目投下。

0

我有这个问题一段时间。对我来说固定的是确保我的清单中的版本代码和版本名称与我的Google Play开发控制台中的相匹配。从技术上讲,为了使这些服务起作用,您的应用必须“发布”,但将版本代码和版本名称与您已发布版本的代码和名称进行匹配也是可行的。

希望这有助于! :)