Pet*_* O. 8 android listviewitem android-sdk-2.1 android-listview
我创建了一个ArrayList<HashMap<String, String>>集合来保存我的数据ListView.我正在使用SimpleAdapter.
当列表项的ID为%10 == 0时,是否可以更改列表项的背景?
这是代码(生成布局的方法):
private void fillData() {
Cursor c = this.mDbManager.getNgOrderDetailByOrderNumber(this.mNumber);
ArrayList<HashMap<String, String>> items = new ArrayList<HashMap<String, String>>();
if (!c.isAfterLast()) {
do {
// ... filling HashMap and putting it to ArrayList
} while (c.moveToNext());
}
SimpleAdapter adapter = new SimpleAdapter(this, items, R.layout.list_item,
new String[] { "product", "ordered", "price", "discount" },
new int[] { R.id.ProductTextView, R.id.OrderedTextView,
R.id.PriceTextView, R.id.DiscountTextView });
ListView l = (ListView) findViewById(android.R.id.list);
l.setAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
您在适配器中覆盖getView以对视图进行更改.请记住,ListView重用了视图实现,因此如果将颜色更改为项目10,请确保将颜色设置为与所有其他视图相反的颜色.
例如
new SimpleAdapter( ... ) {
@Override
public View getView (int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
if (position == 10) {
// set background color = red;
} else {
// set background color = green;
}
return view;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3344 次 |
| 最近记录: |