我有 json 数组
,我在下面解析并在 listview
行中显示它,但我想将相同的用户组合/分组到一行。我应该在 android
或 mysql
中执行?我也提供了 mysql 的工作代码。非常感谢任何帮助。提前致谢。
数据库:
http://sqlfiddle.com/#!2/19ea8/5
安卓:
在 ListView 的主 Activity 中:
JSONArray arr = result.getJSONArray("JsonResultArray");
for(int i=0;i<arr.length();i++)
{
JSONObject e1 = arr.getJSONObject(i);
JSONObject json2 = (JSONObject) e1.get("data");
String name = json2.getString("name").trim();
String receiver = json2.getString("receiver").trim();
String sender = json2.getString("sender").trim();
String date = json2.getString("date").trim();
String msg = json2.getString("msg").trim();
HashMap<String, String> map = new HashMap<String, String>();
map.put(KEY_ID, Integer.toString(i+1));
map.put(KEY_TITLE, name);
map.put(KEY_msg, msg);
map.put(KEY_date,date);
// adding HashList to ArrayList
msgList.add(map);
}
}catch(Exception e){
e.printStackTrace();
}
在转换 View 中:
HashMap<String, String> msgs = new HashMap<String, String>();
msgs = data.get(position);
name.setText(msgs.get(PopoverViewActivity.KEY_TITLE));
msg.setText(msgs.get(PopoverViewActivity.KEY_msg));
date1.setText(msgs.get(PopoverViewActivity.KEY_date));
最佳答案
如果你想将相同的用户分组到一行。我建议你编辑你的mysql。你需要使用
按用户从表组中选择 *
在您的 mqsql 查询中,这可以让您方便地更改数据库并且不会影响您的 UI。
在 Android 中,只需调用您的 api 并将数据呈现给 listView。
关于android - 在listview android中对多行进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21250408/