Index
,Gainers
,Losers
是3 buttons
。 在每個button
點擊,listView
獲取填充相應的數據。基於getView()方法中的數據設置圖像
第3列%Chg
可以是陰性或陽性。
基於%Chg
值的值,對應arrow
應該顯示在imageView
放置後%Chg
列值即向上箭頭爲正值和向下箭頭爲負值 ...
在任何button
點擊,我將%Chg
列的值傳遞給名爲updown
的數組中的列Adapter
類
基於該值,Adapter
應該設置從適配器類(getView()方法)的down arrow
或up arrow
代碼段
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
LayoutInflater inflater = activity.getLayoutInflater();
if (convertView == null) {
convertView = inflater.inflate(R.layout.list_table, null);
holder = new ViewHolder();
holder.txtFirst = (TextView) convertView
.findViewById(R.id.FirstText);
holder.txtSecond = (TextView) convertView
.findViewById(R.id.SecondText);
holder.txtThird = (TextView) convertView
.findViewById(R.id.ThirdText);
holder.ivarrow = (ImageView) convertView.findViewById(R.id.ivarrow);
holder.l1 = (LinearLayout) convertView
.findViewById(R.id.tableLayout);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
HashMap<String, String> map = list.get(position);
//Setting the row background
if (count % 2 == 0) {
try {
InputStream is1 = ctx.getAssets().open("cellbg.png");
Drawable d1 = Drawable.createFromStream(is1, "cellbg");
holder.l1.setBackgroundDrawable(d1);
} catch (Exception e) {
throw new Error(" exception in TableListAdapter "
+ e.getMessage());
}
} else {
try {
InputStream is2 = ctx.getAssets().open("cellbg1.png");
Drawable d2 = Drawable.createFromStream(is2, "cellbg1");
holder.l1.setBackgroundDrawable(d2);
} catch (Exception e) {
throw new Error(" exception in TableListAdapter "
+ e.getMessage());
}
}
count++;
//setting the arrow
if (i < updown.length) {
if (updown[i] > 0) {
holder.ivarrow.setImageResource(R.drawable.up);
Log.v("up", "up");
} else {
holder.ivarrow.setImageResource(R.drawable.down);
Log.v("down", "down");
}
Log.v("i=", i + " ,updown=" + updown[i]);
i++;
}
holder.txtFirst.setText(map.get(FIRST_COLUMN));
holder.txtSecond.setText(map.get(SECOND_COLUMN));
holder.txtThird.setText(map.get(THIRD_COLUMN));
return convertView;
}
。
日誌顯示正確的數據,但是箭頭只顯示在第一行。即,如果列表的最後一個值是positive
,它顯示up arrow
到第一行,如果列表的最後一個值是negative
,它顯示down arrow
到第一排......
如何顯示箭頭對應每行?
我是android開發新手。所以任何幫助將是生命保護! 。
發表您的全getview方法 – ingsaurabh 2012-01-12 07:08:00
做......... ...... – GAMA 2012-01-12 07:13:01