如何使用android stuio在java中获取此数组的每个元素

时间:2015-07-10 09:26:45

标签: java android arrays json ksoap2

我在 responseJSON 上获得了这样的数组字符串

Result: responseJSON = ["Product1","Product2","Product1","Product2"]

try {
        // Invole web service
        androidHttpTransport.call(SOAP_ACTION+methName, envelope);
        // Get the response
        SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
        // Assign it to static variable
        responseJSON = response.toString();

    } catch (Exception e) {
        e.printStackTrace();
    }

如何获取数组的每个元素,以便我可以使用它在ListView上显示?

由于

public void invokeJSONWS(String country, String methName) {
    // Create request
    SoapObject request = new SoapObject(NAMESPACE, methName);
    /*
    // Property which holds input parameters
    PropertyInfo paramPI = new PropertyInfo();
    // Set Name
    paramPI.setName("country");
    // Set Value
    paramPI.setValue(country);
    // Set dataType
    paramPI.setType(String.class);
    // Add the property to request object
    request.addProperty(paramPI);
    */
    // Create envelope
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);
    envelope.dotNet = true;
    // Set output SOAP object
    envelope.setOutputSoapObject(request);
    // Create HTTP call object
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try {
        // Invole web service
        androidHttpTransport.call(SOAP_ACTION+methName, envelope);
        // Get the response
        SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
        // Assign it to static variable
        responseJSON = response.toString();

        JSONArray responseArr = new JSONArray(responseJSON);
        for(int i=0;i < responseArr.length();i++)
        {
            String temp=responseArr.getString(i);
            myProduct.add(new Product(responseJSON,2,R.drawable.user_awake,responseJSON));
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
}

这是我用它正确的方法,我还包括在列表视图中添加一个项目??

请帮助

感谢

1 个答案:

答案 0 :(得分:2)

将此字符串传递给JSONAarry构造函数,如下所示

    ArrayList<String> mParsedList = new ArrayList<String>();
    JSONAarry responseArr=new JSONArray(responseJSON);
    for(int i=0;i<responseArr.length;i++)
    {
       String temp=responseArr.getString(i);// get one by one element 
       myProduct.add(new Product(temp,2,R.drawable.user_awake,responseJSON));
  }