最近做了一个Android的地图软件,用到了Adapter的嵌套,小结如下

 

需要实现的效果如下:

Android双层Adapter的使用(在ListView中添加Spinner)

 

      为了下拉列表Spinner中添加ImageView,本人使用了自定义Adapter子类的方法,为下拉列表添加自定义的View,类IconsAdapter的声明如下  

  1 package com.Android.Baidu.Layers;
  2 
  3 import com.Android.Baidu.navisurveytest.MainActivity;
  4 import com.Android.Baidu.navisurveytest.R;
  5 
  6 
  7 import android.view.View;
  8 import android.view.ViewGroup;
  9 import android.view.ViewGroup.LayoutParams;
 10 import android.widget.BaseAdapter;
 11 import android.widget.ImageView;
 12 import android.widget.LinearLayout;
 13 
 14 
 15 public class IconsAdapter extends BaseAdapter {
 16 
 17     @Override
 18     public int getCount() {
 19         // TODO Auto-generated method stub
 20         return 6;///////////////////////////////////////////////////////////////////
 21     }
 22 
 23     @Override
 24     public Object getItem(int position) {
 25         // TODO Auto-generated method stub
 26         return null;
 27     }
 28 
 29     @Override
 30     public long getItemId(int position) {
 31         // TODO Auto-generated method stub
 32         return 0;
 33     }
 34 
 35     @Override
 36     public View getView(int position, View convertView, ViewGroup parent) {            
 37         // TODO Auto-generated method stub
 38         LinearLayout linear = new LinearLayout(MainActivity.mContext);
 39         linear.setOrientation(LinearLayout.HORIZONTAL);
 40         ImageView imageView = new ImageView(MainActivity.mContext);
 41         imageView.setLayoutParams(new LayoutParams(40, 40));    
 42     
 43 //        int[] markers = {R.drawable.marker0,R.drawable.marker1,
 44 //                R.drawable.marker2,R.drawable.marker3,
 45 //                R.drawable.marker4,R.drawable.marker5,
 46 //                R.drawable.marker6,R.drawable.marker7,
 47 //                R.drawable.marker8,R.drawable.marker9};
 48         
 49         int  imgID = -1;
 50         
 51         switch (position) {
 52         case 0:
 53         {
 54             imgID = R.drawable.mark1;
 55             break;
 56         }
 57         case 1:
 58         {
 59             imgID = R.drawable.mark2;
 60             break;
 61         }
 62         case 2:
 63         {
 64             imgID = R.drawable.mark3;
 65         
 66             break;
 67         }
 68         case 3:
 69         {
 70             imgID = R.drawable.mark4;
 71         
 72             break;
 73         }
 74         case 4:
 75         {
 76             imgID = R.drawable.mark5;
 77         
 78             break;
 79         }
 80         case 5:
 81         {
 82             imgID = R.drawable.mark6;        
 83             break;
 84         }
 85         default:
 86             break;
 87         }
 88         
 89         //int t = markers[position];
 90       //Drawable drawable =MainActivity.instance.getResources().getDrawable(t);
 91         //imageView.setImageDrawable(MainActivity.instance.getResources().getDrawable(MainActivity.instance.markers[position]));
 92       //imageView.setImageDrawable(drawable);
 93         imageView.setImageDrawable(MainActivity.mContext.getResources().getDrawable(imgID));
 94       linear.addView(imageView);
 95 //        
 96 //        TextView textView = new TextView(MainActivity.mContext);
 97 //        textView.setText(seqMarkerStrings[position]);
 98 //        textView.setTextColor(Color.BLUE);
 99 //        textView.setTextSize(30);
100 //        linear.addView(textView);
101         
102         return linear;    
103         
104         
105     }
106 
107 }
IconsAdapter.java

相关文章:

  • 2021-08-25
  • 2021-06-27
  • 2022-12-23
  • 2021-12-05
  • 2022-01-25
  • 2022-01-27
  • 2021-10-24
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
相关资源
相似解决方案