繁体   English   中英

如何在吐司中显示数组列表项?

[英]how to display arraylist items in toast?

我正在使用 json 解析,我发送了五封电子邮件和五个姓名,作为回应,它给出了

{
    "invitefriend": [
        {

            "message": "Friend Request sent to : abc"
        },
        {

            "message": "Friend Request sent to : def"
        }
    ]
}

现在我正在尝试的是我想在吐司中获得 abc 和 def,但它分别给出

 JSONArray jsonary=json.getJSONArray("invitefriend");

            for (int i = 0; i < jsonary.length(); i++) {
                JSONObject c = jsonary.getJSONObject(i);
                // creating new HashMap
                HashMap<String, String> map = new HashMap<String, String>();
                // adding each child node to HashMap key => value
                // map.put(INTERESTACCEPT_USER_ID, c.getString(INTERESTACCEPT_USER_ID));
                map.put(TAG_SUCCESS_INVITE,c.getString(TAG_SUCCESS_INVITE));
                map.put(TAG_SUCCESS_MESSAGE, c.getString(TAG_SUCCESS_MESSAGE));

                ArrayList<String> msgs=new ArrayList<String>();
                msgs=map.put(TAG_SUCCESS_MESSAGE, c.getString(TAG_SUCCESS_MESSAGE));
                System.out.println("MESSAGE : " + msg);

                // adding HashList to ArrayList

               getActivity().runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(getActivity(),""+msgs, Toast.LENGTH_LONG).show();
                    }
                });
                data.add(map);
            }

尝试这个,

   JSONArray jsonary=json.getJSONArray("invitefriend");
    ArrayList<String> msgs;
            for (int i = 0; i < jsonary.length(); i++) {
                JSONObject c = jsonary.getJSONObject(i);
                // creating new HashMap
                HashMap<String, String> map = new HashMap<String, String>();
                // adding each child node to HashMap key => value
                // map.put(INTERESTACCEPT_USER_ID, c.getString(INTERESTACCEPT_USER_ID));
                map.put(TAG_SUCCESS_INVITE,c.getString(TAG_SUCCESS_INVITE));
                map.put(TAG_SUCCESS_MESSAGE, c.getString(TAG_SUCCESS_MESSAGE));

                msgs = new ArrayList<String>(map.values());

                System.out.println("MESSAGE : " + msgs);

                // adding HashList to ArrayList


                data.add(map);
            }
           getActivity().runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                         Toast.makeText(getActivity(),msgs,Toast.LENGTH_LONG).show();
                    }
                });

您将获得多个Toast s,因为您在for循环内进行了Toast ing。 只需将该调用移动到循环外:

JSONArray jsonary=json.getJSONArray("invitefriend");
ArrayList<String> msgs=new ArrayList<String>();
String msg = null;

for (int i = 0; i < jsonary.length(); i++) {
    JSONObject c = jsonary.getJSONObject(i);
    // creating new HashMap
    HashMap<String, String> map = new HashMap<String, String>();
    // adding each child node to HashMap key => value
    // map.put(INTERESTACCEPT_USER_ID, c.getString(INTERESTACCEPT_USER_ID));
    map.put(TAG_SUCCESS_INVITE,c.getString(TAG_SUCCESS_INVITE));
    map.put(TAG_SUCCESS_MESSAGE, c.getString(TAG_SUCCESS_MESSAGE));

    msg=map.put(TAG_SUCCESS_MESSAGE, c.getString(TAG_SUCCESS_MESSAGE));
    msgs.add(msg);
    System.out.println("MESSAGE : " + msg);

    // adding HashList to ArrayList
    data.add(map);
}

getActivity().runOnUiThread(new Runnable() {
        @Override
        public void run() {
            Toast.makeText(getActivity(), msgs.toString(), Toast.LENGTH_LONG).show();
        }
    });

此外,我们还定义了ArrayList msgs来收集响应消息,我们直接使用msgs.toString() Toast

你必须做 ""+array list 然后它会在 toast 中显示所有数组列表项。 或者,如果您需要一个一个,然后使用一个具有数组列表长度的 for 循环,您只需添加数组列表[i]like

for (int i=0;i<=arraylist.length;i++){

        Toast.makeText(getContext(),arraylist[i],Toast.LENGTH_SHORT).show();
    }

像这样尝试。 我认为它有帮助

featured_list = new ArrayList<Featured>();
for (int i = 0; i < jarray.length(); i++) {
JSONObject object = jarray.getJSONObject(i);
Toast.makeText(getApplicationContext(), object.getString("thumb").toString(), Toast.LENGTH_LONG).show();
 }               

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM