[英]Android listview from json array
我是Android新手,正在嘗試填充列表視圖。
當我使用數組“ months”時,列表會正確填充,但是當我嘗試使用“ myFamily”時,列表為空。
為什么會這樣呢?
myFamily數組如下:
[免費嬰兒吉尼斯射擊,2-4-1雞尾酒,本周葡萄酒21英鎊,無限咖啡5英鎊,單伏特加紅牛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);
}
這是JSON格式的示例
{[“示例字符串”,“示例字符串2”]}
您應該具有類似的JSON格式。 不要忘記屏蔽特殊符號
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.