2013-06-25 67 views
0

我已經設法編碼在每一行微調器中都有圖像,但圖像都是相同的。我想更改每個圖像。你是怎樣做的。這裏是我的XML和代碼在Android中添加獨特的圖像到微調器行

XML

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal"> 
<ImageView 
android:id="@+id/icon" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:src="@drawable/calendar"/> 
<TextView 
android:id="@+id/weekofday" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/> 
</LinearLayout> 

這裏是java的

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.row, R.id.weekofday, list); 
dataAdapter.setDropDownViewResource(R.layout.row); 
spinner.setAdapter(dataAdapter); 

,因爲它是在row.xml文件中設置它顯示相同的圖像。我如何使它動態?

回答

1

爲什麼不創建自定義適配器並相應地編寫代碼。據我所知,它顯示相同的圖像,因爲你已經在row.xml中設置它。但是,適配器將如何知道圖像應該在每一行上進行更改。

定製適配器可以將圖像作爲每個位置微調項目

+0

我不知道如何做一個自定義適配器 –

+0

請參閱此鏈接(即指數):是指HTTP:// WWW。 vogella.com/articles/AndroidListView/article.html#adapterown_custom。在這裏,他正在嘗試編寫自定義適配器。你可以使用相同的。讓我知道你是否需要更多的幫助 –

0
  public class SavedSearchAdapter extends BaseAdapter { 

      private Context mContext; 
      private ArrayList<SavedSearch> mData; 

      private boolean isEditMode = false; 

      public SavedSearchAdapter(Context context , ArrayList<SavedSearch> data){ 
     mContext = context; 
     mData = data; 
      } 


     @Override 
     public int getCount() { 
     return mData.size(); 
     } 

     @Override 
      public Object getItem(int position) { 
     return mData.get(position); 
     } 

     @Override 
      public long getItemId(int position) { 
     return position; 
     } 

     @Override 
      public View getView(int position, View convertView, ViewGroup parent) { 

     View view; 
     TextView tvTitle; 
     ImageView ivDelete; 

     if(convertView == null){ 
      view = View.inflate(mContext,   R.layout.screen_saved_search_item_row, null); 
     } 
     else{ 
     view = convertView; 
     } 




     tvTitle = (TextView) view.findViewById(R.id.screen_saved_search_item_row_tv); 
     tvTitle.setText(mData.get(position).name); 

     ivDelete = (ImageView) view.findViewById(R.id.screen_saved_search_item_row_iv_delete); 

     view.setTag(mData.get(position)); 

      return view; 
      } 


      } 
相關問題