我是android的新手,我正在尝试填充列表视图。
当我使用数组'months'时,列表会正确填充,但是当我尝试使用'myFamily'时,列表为空。
为什么会这样?
myFamily数组如下:
[免费婴儿吉尼斯射击,2-4-1鸡尾酒,本周葡萄酒£21,无限咖啡£5,单伏特加Redbull£5,买一送一(12 pm-8pm)]
完整代码:
public class offers extends AppCompatActivity {
private String jsonResponse;
private String[] months = { "JAN", "FEB", "MAR", "APR", "MAY", "JUNE", "JULY",
"AUG", "SEPT", "OCT", "NOV", "DEC" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_offers);
final String PREFS_NAME = "userDefaults";
final ListView myListView = (ListView) findViewById(R.id.listViewOffers);
SharedPreferences settings_get = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
final String smartCode2 = settings_get.getString("smartCode2", "");
final ArrayList<String> myFamily = new ArrayList<>();
RequestQueue queue = Volley.newRequestQueue(offers.this);
String url = "http://www.barfibrenetwork.co.uk/backend/androidoffers.php?smartcode="+smartCode2;
// Request a string response from the provided URL.
JsonArrayRequest req = new JsonArrayRequest(url,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
// Log.d(TAG, response.toString());
try {
// Parsing json array response
// loop through each json object
jsonResponse = "";
for (int i = 0; i < response.length(); i++) {
JSONObject person = (JSONObject) response
.get(i);
String name = person.getString("offertitle");
Log.i("OFFERTITLE:", name);
myFamily.add(name);
}
Log.i("REPLY:", String.valueOf(myFamily));
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(),
"Error: " + e.getMessage(),
Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.i("Error: ", error.getMessage());
Toast.makeText(getApplicationContext(),
error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
// Add the request to the RequestQueue.
queue.add(req);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.activity_list_item, android.R.id.text1, myFamily );
myListView.setAdapter(arrayAdapter);
}
答案 0 :(得分:0)
这是JSON格式示例
{[“示例字符串”,“示例字符串2”]}
您应该有类似的JSON格式。别忘了屏蔽特殊符号