2011-08-18 59 views
0

我有一個列表視圖,其中我從Twitter獲取數據,我也顯示它在列表視圖中,但我想在不同的行列表中顯示不同的圖像。如何在listView的行中交替設置不同的圖像?

我用convert-view.setBackGroundResource(R.drawable.strip1);,它重複所有行中的這個圖像,但我想設置它的選擇。這怎麼可能?

回答

0

使用位置:

getView(int position, View convertView, ViewGroup parent) 

,做這樣的事情

if(position%2 == 0) { 
    convert-view.setBackGroundResource(R.drawable.strip1); 
} else { 
    convert-view.setBackGroundResource(R.drawable.strip2); 
} 
0

看看List14這是正是一個例子。它使用自己的自定義適配器,然後根據位置交替圖片,在這種情況下,如果是偶數行或奇數行。

在getView方法的這一部分看看:

// Bind the data efficiently with the holder. 
     holder.text.setText(DATA[position]); 
     holder.icon.setImageBitmap((position & 1) == 1 ? mIcon1 : mIcon2); 
1

使用適配器這樣的,你所需要的替換名單。

/** 
* 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; 
    } 
} 
1

您想要了解什麼標準?

例如,你可以這樣做:

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

要具有基於細胞的奇偶校驗位不同的背景。

相關問題