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