我有一個列表視圖,其中我從Twitter獲取數據,我也顯示它在列表視圖中,但我想在不同的行列表中顯示不同的圖像。如何在listView的行中交替設置不同的圖像?
我用convert-view.setBackGroundResource(R.drawable.strip1);
,它重複所有行中的這個圖像,但我想設置它的選擇。這怎麼可能?
我有一個列表視圖,其中我從Twitter獲取數據,我也顯示它在列表視圖中,但我想在不同的行列表中顯示不同的圖像。如何在listView的行中交替設置不同的圖像?
我用convert-view.setBackGroundResource(R.drawable.strip1);
,它重複所有行中的這個圖像,但我想設置它的選擇。這怎麼可能?
使用位置:
getView(int position, View convertView, ViewGroup parent)
,做這樣的事情
if(position%2 == 0) {
convert-view.setBackGroundResource(R.drawable.strip1);
} else {
convert-view.setBackGroundResource(R.drawable.strip2);
}
看看List14這是正是一個例子。它使用自己的自定義適配器,然後根據位置交替圖片,在這種情況下,如果是偶數行或奇數行。
在getView方法的這一部分看看:
// Bind the data efficiently with the holder.
holder.text.setText(DATA[position]);
holder.icon.setImageBitmap((position & 1) == 1 ? mIcon1 : mIcon2);
使用適配器這樣的,你所需要的替換名單。
/**
* Handles the listView.
*/
private class ListAdapter extends ArrayAdapter<Call> {
private ArrayList<List> items;
public ListAdapter(Context context, int textViewResourceId,
ArrayList<List> items) {
super(context, textViewResourceId, items);
this.items = items;
}
/**
* Returns the View populated with data.
*/
@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.row, null);
}
List l = items.get(position);
if (l != null) {
ImageView ci = (ImageView) v.findViewById(R.id.iv_listIcon);
}
return v;
}
}
您想要了解什麼標準?
例如,你可以這樣做:
public View getView(int position, View convertView, ViewGroup parent) {
MyCell resultView = (MyCell) convertView;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) MyActivity.this.getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.mycell, null);
}
if (position % 2 == 0) {
convert-view.setBackGroundResource(R.drawable.strip1);
} else {
convert-view.setBackGroundResource(R.drawable.strip2);
}
return resultView;
}
要具有基於細胞的奇偶校驗位不同的背景。