簡體   English   中英

來自JSON數組的Android ListView

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM