• 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;
        }
    
    }
  • 相关阅读:
    2013-06-28,“万能数据库查询分析器”在中关村本月数据库类下载排行中重返前10位
    Oracle 存储过程
    强化学习精要:核心算法与TensorFlow实现
    深入理解TensorFlow:架构设计与实现原理
    Vue.js实战
    TensorFlow机器学习实战指南
    深入浅出React和Redux
    Flutter技术入门与实战
    TensorFlow:实战Google深度学习框架
    深度学习:一起玩转TensorLayer
  • 原文地址:https://www.cnblogs.com/tinyphp/p/3919800.html
Copyright © 2020-2023  润新知