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;
    }

}

Android:自定义适配器

时间: 2024-11-13 04:03:28

Android:自定义适配器的相关文章

Android自定义适配器和ListView的点击事件相结合的使用

下边演示一个使用ListView和自定义适配器的案例,点击ListView中的条目会出现一个对话框,进行成绩的修改,修改之后会立即通知适配器进行数据的重新加载,如下: (1).用于显示listView的布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" andro

Android ListFragment实例Demo(自定义适配器)

上一篇文章介绍了ListFragment,其中的ListView并没有自定义适配器,实际上在实际开发中常会用到自定义适配器,是实现更复杂的列表数据展示.所以这篇文章增加了自定义适配器,来进行ListView数据的展示. 实现效果图: 左边是Activity中的一个按钮,点击按钮会出现右边的Fragment相应的数据列表. 代码展示: 布局文件: activity_main: <LinearLayout xmlns:android="http://schemas.android.com/ap

( 转)Android之自定义适配器

ListView作为一个实际开发中使用率非常高的视图,一般的系统自带的适配器都无法满足开发中的需求,这时候就需要开发人员来自定义适配器使得ListView能够有一个不错的显示效果. 有这样一个Demo ,实现图片文字混合列表. package com.example.work; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import android.R.integer; import

【Android个人理解(二)】从实现方法深入了解自定义适配器的工作过程

自定义适配器时,需要重写BaseAdapter的getCount(),getItem(int position),getItemId(int position),getView()方法. 但是由于不了解每个方法在工作时发挥的作用,而不知道如何重写四个方法. 1.由Adapter的工作原理了解getCount()和getView()的作用. getCount()用来告诉系统Item的个数,也就是我们将要绘制的个数.因此我们如此重写这个方法: public int getCount() { retu

在Android中自定义适配器

啊喂,好久没更新博客了,唉唉,真是抱歉啊!求原谅! 1.自定义列表项适配器的主要方法是: ①public int getCount()=====>此方法用来控制列表项的个数 ②public View getView(int position, View convertView, ViewGroup parent)====>此方法用来控制页面 2.自定义适配器在实际开发中使用的非常灵活也非常广泛,因为,此方法一定要掌握.(虽然也有现成的适配器,但是在实际开发中使用不多) 3.在自定义适配器的过程

Android中GridView通过自定义适配器实现图文视图排列

Android中GridView组件用来以网格方式排列视图,与矩阵类似,当屏幕上有很多元素(文字.图片或其他元素)需要显示时,可以使用该组件.下面我们通过代码实现如下图例(为了方便截图,将事件处理(土司)设置到屏幕顶部) Layout下gridview.xml布局文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schema

Android -- ListView(SimpleAdapter) 自定义适配器

2.  代码 MainActivity package com.himi; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterVie

Android 自定义Gallery浏览图片

之前写的<Android ImageSwitcher和Gallery的使用>一文中提到我在教室一下午为实现那个效果找各种资料.期间在网上找了一个个人觉得比较不错的效果,现在贴图上来: 其实这个效果使用的知识点就是图像的获取.创建.缩放.旋转.Matrix类.Canvas类等,另外就是自定义的Gallery控件. 相信大家都期待马上上代码了吧,嘻嘻.(注释比较多,相信大家都能看懂.) main.xml: <?xml version="1.0" encoding=&quo

安卓开发_浅谈ListView(自定义适配器)

ListView作为一个实际开发中使用率非常高的视图,一般的系统自带的适配器都无法满足开发中的需求,这时候就需要开发人员来自定义适配器使得ListView能够有一个不错的显示效果 有这样一个Demo ,实现图片文字混合列表 1 package com.example.work; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.List; 6 7 8 import android.R.in