我收集的HashMap<String,Object>
数据为ArrayList
.
我使用以下方法将HashMap
数据添加到ArrayList
.
mylist = new ArrayList<HashMap<String, Object>>();
for (Data dt : data) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("id", dt.getWeekNo());
map.put("description", dt.getDesc());
map.put("Amount", dt.getAmount());
mylist.add(map);
}
Data
是一个单独的类,仅用于Getters
和Setters
目的。
现在我的输出是这样的:
3 | Income | 1000
5 | Income | 1500
3 | Expense | 250
5 | Expense | 500
我希望它在我的列表视图中如下所示。
3 | Income : 1000 | Expense : 250
5 | Income : 1500 | Expense : 500
任何想法来实现这一点。我不知道如何实现,我也不知道任何想法,所以我不知道从哪里开始。
更新:这是我使用方法将列表调整为列表视图的getview()
方式
ListAdapter adapter
= new SimpleAdapter(this, mylist, R.layout.txnlist,
new String[] {"id", "description", "Amount" },
new int[] { R.id.txntext1, R.id.txntext2, R.id.txntext3 }) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.txnlist, null);
}
Collection<Object> str = mylist.get(position).values();
ArrayList<Object> al1 = new ArrayList<Object>(str);
TextView amnt = (TextView) v.findViewById(R.id.txntext3);
if (al1.get(2).toString().equals("Income"))
amnt.setTextColor(Color.GREEN);
if (al1.get(2).toString().equals("Expense"))
amnt.setTextColor(Color.RED);
return super.getView(position, v, parent);
}
};
ListView lv1 = (ListView) findViewById(R.id.repListView);
帮帮我吧朋友。
提前致谢。