我在 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();
}
}
这是我用它正确的方法,我还包括在列表视图中添加一个项目??
请帮助
感谢
答案 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));
}