Java 在android中向微调器行添加唯一图像

Java 在android中向微调器行添加唯一图像,java,android,android-spinner,Java,Android,Android Spinner,我已经设法编码在每一行微调器中都有图像,但是图像都是相同的。我想更改每个图像。你是怎么做到的。这是我的xml和代码 xml 这是java ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.row, R.id.weekofday, list); dataAdapter.setDropDownViewResource(R.layout.row); spinner.setAd

我已经设法编码在每一行微调器中都有图像,但是图像都是相同的。我想更改每个图像。你是怎么做到的。这是我的xml和代码

xml


这是java

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

它显示相同的图像,因为它是在row.xml文件中设置的。如何使其动态化?

为什么不创建自定义适配器并相应地编写代码呢。据我所知,它显示相同的图像,因为您在row.xml中设置了它。但适配器如何知道每行上的映像都应该更改呢

在自定义适配器中,您可以根据微调器项的位置(即索引)设置映像{
         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;
           }


           }
私有上下文; 私有ArrayList mData; 私有布尔isEditMode=false; public SavedSearchAdapter(上下文、ArrayList数据){ mContext=上下文; mData=数据; } @凌驾 public int getCount(){ 返回mData.size(); } @凌驾 公共对象getItem(int位置){ 返回mData.get(位置); } @凌驾 公共长getItemId(int位置){ 返回位置; } @凌驾 公共视图getView(int位置、视图转换视图、视图组父视图){ 视图; 文本视图标题; ImageView-ivDelete; if(convertView==null){ 视图=视图。充气(mContext,R.layout.screen\u saved\u search\u item\u row,null); } 否则{ 视图=转换视图; } tvTitle=(TextView)view.findViewById(R.id.screen\u saved\u search\u item\u row\u tv); tvTitle.setText(mData.get(position.name)); ivDelete=(ImageView)view.findViewById(R.id.screen\u saved\u search\u item\u row\u iv\u delete); view.setTag(mData.get(position)); 返回视图; } }
我不知道如何进行自定义适配器请参阅此链接:请参阅。在这里,他正在尝试编写自定义适配器。你可以用同样的。如果你需要更多的帮助,请告诉我
         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;
           }


           }