zoukankan      html  css  js  c++  java
  • Android:自定义适配器

    无论是ArrayAdapter还是SimpleAdapter都继承了BaseAdapter,自定义适配器同样继承BaseAdapter

    实例:Gallery实现图片浏览器

    <?xml version="1.0" encoding="utf-8"?>
     <Gallery
      xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/gallery"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
        
    
    </Gallery>
    public class MainActivity extends Activity {
    private Gallery gallery;
    private int[] res={R.drawable.ic_launcher,R.drawable.ic_launcher};
    private ImageAdapter adapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.demo);
    
            gallery = (Gallery) findViewById(R.id.gallery);
            
           adapter = new ImageAdapter(res, this);
            gallery.setAdapter(adapter);
            
            
            
        }
    
    
    }

    自定义的适配器

    public class ImageAdapter  extends BaseAdapter{
        public int res[];
        private Context context;
        public ImageAdapter(int res[],Context context){
            this.res=res;
            this.context=context;
        }
        
        @Override
        //返回已定义数据源总数量
        public int getCount() {
            // TODO Auto-generated method stub
            return res.length;
        }
    
        @Override
        //告诉适配器取得目前容器中的数据对象
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return position;
        }
    
        @Override
        //告诉适配器取得目前容器中的数据ID
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }
    
        @Override
        //取得当前欲显示的图像View
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            ImageView image=new ImageView(context);
            image.setBackgroundResource(res[position]);
            image.setLayoutParams(new Gallery.LayoutParams(400,300));
            image.setScaleType(ScaleType.FIT_XY);
            return image;
        }
    
    }
  • 相关阅读:
    关于c:fakepath的解决办法
    golang channel 源码剖析
    深入虚拟内存(Virtual Memory,VM)
    浅析 golang module
    浅析 golang interface 实现原理
    Golang channel实现
    LCS(最长公共字序列)实现
    Golang令牌桶-频率限制
    OpenGL(3)-三角形
    OpenGL(2)-窗口
  • 原文地址:https://www.cnblogs.com/tinyphp/p/3919800.html
Copyright © 2011-2022 走看看