2013-05-07 3 views
-2

HashMap<String,Object> 데이터의 컬렉션은 ArrayList입니다.데이터를 ListView에 배열

ArrayListHashMap 데이터를 추가하기 위해 다음 방법을 사용했습니다.

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); 
} 

DataGettersSetters 목적에만 사용되는 별도의 클래스입니다. 나는 내 목록보기에 다음과 같은 원하는

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); 

도움말 나 친구들과 목록보기 내 목록에 적응 오전 방법입니다.

미리 감사드립니다.

+0

사용자 정의 adpter를 만들고 getView()를 재정의하십시오. –

+0

where는 listView에 데이터를 추가하는 코드입니다. 여기에 또한 추가하십시오. – AAnkit

+0

@NiravRanpara 제가 오버라이드했습니다. 나는 소득과 지출을 함께 모으는 법을 모릅니다. – Gunaseelan

답변

1

와우, 나는 당신이 그와 같은 데이터를 저장할 수있는 변수를 할 이유 사소한 단서를 가지고하지 않은,하지만 난 이해 내용에 따라 어떤 경우에, 당신은 뭔가를 원하는 이 :

for (int i=0; i<(myList.getCount()/2); i++){ 
    Log.v("Line " + i, myList.getItem(i).getWeekNo() + "|" + 
     myList.getItem(i).getDesc() + ":" + myList.getItem(i).getAmount() + "|" + 
     myList.getItem(mylist.getCount()/2 + i).getDesc() + ":" + 
      mylist.getItem(myList.getCount()/2 + i).getAmount(); 
} 

알려주세요.

관련 문제