[英]how to display arraylist items in toast?
I am using json parsing,i am sending five emails and five names and in response it gives我正在使用 json 解析,我发送了五封电子邮件和五个姓名,作为回应,它给出了
{
"invitefriend": [
{
"message": "Friend Request sent to : abc"
},
{
"message": "Friend Request sent to : def"
}
]
}
now what i am trying is i want to get abc and def in toast,but it gives one by one seperatly现在我正在尝试的是我想在吐司中获得 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);
}
Try this,尝试这个,
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();
}
});
You're getting multiple Toast
s because you're Toast
ing inside the for
loop.您将获得多个Toast
s,因为您在for
循环内进行了Toast
ing。 Simply move that call to outside the loop:只需将该调用移动到循环外:
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();
}
});
Also, we've defined the ArrayList
msgs
to collect the response messages, which we Toast
directly with msgs.toString()
.此外,我们还定义了ArrayList
msgs
来收集响应消息,我们直接使用msgs.toString()
Toast
。
You have to do ""+array list Then it will display all array list items in toast.你必须做 ""+array list 然后它会在 toast 中显示所有数组列表项。 Or if you need all one by one,then take a for loop with length of array list in that u just add array list[i]like或者,如果您需要一个一个,然后使用一个具有数组列表长度的 for 循环,您只需添加数组列表[i]like
for (int i=0;i<=arraylist.length;i++){
Toast.makeText(getContext(),arraylist[i],Toast.LENGTH_SHORT).show();
}
Try like this.像这样尝试。 i think its helpfull我认为它有帮助
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.