`

Android ListView的使用与Adapter的用法

 
阅读更多
1、listView的使用步骤与ArrayAdapter的用法

(1)、定义一个数组来存放ListView中item的内容。

(例如:

private static final String[] strs = { "first", "second", "third", "fourth", "fifth" };

 

(2)、通过实现ArrayAdapter的构造函数来创建一个ArrayAdapter的对象。

(例如:

ArrayAdapter<String>  adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, strs);

,其中第二个参数可以自定义一个layout,但是这个layout必须要有TextView控件。);      

 

(3)、通过ListViewsetAdapter()方法绑定ArrayAdapter。

(例如:

listView.setAdapter(adapter)) 

另外:

(1)通过指定android.R.layout.simple_list_item_checked这个资源,实现带选择框的ListView。

        需要用setChoiceMode()方法设定选择为多选还是单选,否则将不能实现选择效果。

(例如:

listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_checked, strs));
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

 

(2)通过指定android.R.layout.simple_list_item_multiple_choice这个资源实现带CheckBox的ListView。

(例如:

listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice,strs));
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

 

(3)通过指定android.R.layout.simple_list_item_single_choice这个资源实现带RadioButton的ListView。

(例如:

listView.setAdapter(newArrayAdapter<String>(this,android.R.layout.simple_list_item_single_choice,strs));
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

 

 

 

 

ListView绑定一个点击监听器:

 

listView.setOnItemClickListener(new OnItemClickListener() {
   public void onItemClick(AdapterView<?> arg0, View arg1, int arg2 ,long arg3) {
       }
});

 

2、ListView使用SimpleAdapter

 

(1)根据需要定义ListView每行所实现的布局。

(2)定义一个HashMap构成的列表,将数据以键值对的方式存放在里面。

(3)构造SimpleAdapter对象。

(4)将LsitView绑定到SimpleAdapter上。

 

3、 ListView使用BaseAdapter与ListView的优化

 

 使用BaseAdapter必须写一个类继承它,同时BaseAdapter是一个抽象类,继承它必须实现它的方法。其中最重要的是getView()方法。

getCount();

getItem(int position);

getItemId(int position) ;

getView(int position, View convertView, ViewGroup parent);

 

当系统开始绘制ListView的时候,首先调用getCount()方法。得到它的返回值,即ListView的长度。然后系统调用getView()方法,根据这个长度逐一绘制ListView的每一行。getItem()和getItemId()是在需要处理和取得Adapter中的数据时调用。

当convertView为空时,用setTag()方法为每个View绑定一个存放控件的ViewHolder对象。

当convertView不为空,重复利用已经创建的view的时候,使用getTag()方法获取绑定的ViewHolder对象,这样就避免了findViewById对控件的层层查询,而是快速定位到控件。

 

public class WeatherActivityAdapter extends BaseAdapter {

    private Context context;
    private ArrayList<WeatherBean> list;

    public WeatherActivityAdapter(Context context, ArrayList<WeatherBean> list) {
        this.context = context;
        this.list = list;
    }
    @Override
    public int getCount() {
        return list.size();
    }
    @Override
    public Object getItem(int position) {
        return list.get(position);
    }
    @Override
    public long getItemId(int position) {
        return position;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder vh = null;
        if (convertView == null) {
            vh = new ViewHolder();
            convertView = LayoutInflater.from(context).inflate(R.layout.weather_item_layout, parent, false);
            vh.tv_date = (TextView) convertView.findViewById(R.id.date_textView);
            convertView.setTag(vh);
        } else {
            vh = (ViewHolder) convertView.getTag();
        }
        WeatherBean bean=list.get(position);
        vh.tv_date.setText(bean.date);
        return convertView;
    }
}
class ViewHolder {
    TextView tv_date;
}	

 

分享到:
评论

相关推荐

    Android listview与adapter用法

    本篇文章将详细探讨Android中的Adapter用法及其在ListView中的应用。 1. **Adapter的概念** - `Adapter`是Android中一个核心的概念,它扮演着数据源与UI组件之间的桥梁角色。具体来说,Adapter负责将后端的数据...

    Android中ListView+Adapter

    总之,理解并熟练掌握ListView与Adapter的使用是Android开发中的重要技能。ArrayAdapter适合简单的数据展示,SimpleAdapter能处理稍微复杂的结构,而BaseAdapter则提供了最大的灵活性,适用于各种定制需求。通过实践...

    android listview 自反射 adapter

    总的来说,利用反射创建Adapter是一种节省时间和提高效率的方法,尤其是在处理多种类型数据并需要展示在ListView时。然而,反射也有其缺点,如性能损耗和代码可读性降低,因此在实际应用中需要权衡利弊,合理使用。

    Android自定义adapter的listview

    为了实现更加灵活和丰富的界面展示,我们通常需要对ListView进行自定义,这涉及到自定义Adapter的使用。自定义Adapter允许我们根据需求定制ListView的每一项视图,以适应不同的数据结构和界面设计。 首先,我们需要...

    android的listview嵌套listview,列表嵌套列表 android studio版本

    ListView通过Adapter来获取并展示数据,Adapter是连接数据源与ListView的桥梁。在Android Studio中,我们通常会创建一个自定义的Adapter,继承自BaseAdapter或者ArrayAdapter,重写其方法以提供数据和视图的绑定。 ...

    Android ListView使用技巧

    本篇文章将深入探讨几个关键的Android ListView使用技巧,帮助你提升应用的用户体验和性能。 1. **适配器Adapter的使用** ListView的核心在于适配器,它负责将数据集转化为ListView可显示的视图。常见的适配器有...

    Android实现的ListView-ListViewAdapter(新闻列表事例)

    综上所述,"Android实现的ListView-ListViewAdapter(新闻列表事例)"是一个涵盖了Android基础组件使用、数据绑定、事件处理、性能优化等多个方面的实践案例,对于深入理解Android开发非常有帮助。通过这个实例,...

    Android中ListView添加头部

    在Android应用开发中,ListView是一种常用的控件,用于展示大量数据列表。它的可滚动特性使得它在各种场景下都非常实用,比如展示联系人、菜单项等。然而,仅仅使用ListView来展示列表数据并不足够,很多时候我们...

    Android简单使用ListView和Adapter

    本教程将详细介绍如何在Android中简单使用ListView和Adapter来实现数据显示,并演示如何添加删除功能。 首先,你需要在布局文件中定义一个ListView。在XML文件中,你可以使用`&lt;ListView&gt;`标签来创建ListView,并为...

    android ListView简单用法

    这个教程将详细介绍Android ListView的基本用法。 ### 1. 添加ListView到布局 首先,在XML布局文件中添加ListView组件。一个基本的ListView元素如下所示: ```xml &lt;ListView android:id="@+id/list_view" ...

    Android ListView 自定义adapter好友列表

    本文将深入探讨如何使用自定义Adapter来创建一个功能丰富的Android ListView好友列表。 首先,我们需要理解ListView的工作原理。ListView依赖于Adapter来提供数据和视图之间的桥梁。Adapter是连接数据源(如...

    C# xamarin android listview简单使用

    ListView通常与一个Adapter配合工作,Adapter是数据源和视图之间的桥梁,它负责将数据转化为ListView可以显示的列表项。在Xamarin.Android中,我们可以使用BaseAdapter或已有的适配器,如ArrayAdapter、...

    Android listview使用的简单事例

    以下是一个关于如何在Android中使用ListView的简单事例: 第一步:新建`MyListActivity`继承自`ListActivity` 在创建一个基于ListView的活动时,通常会继承`ListActivity`类,因为它为ListView提供了一些便利的方法...

    android listview 里面使用checkbox

    综上所述,要在Android的ListView中使用Checkbox,我们需要创建自定义Adapter,设计Checkbox的布局,管理复选状态,监听并处理用户操作,同时注意性能优化和状态恢复。在实际项目中,这样的实现方式能够提供灵活的...

    Android ListView adapter不同布局

    总结来说,实现“Android ListView adapter不同布局”涉及自定义Adapter,重写关键方法,特别是`getView()`,并处理好数据源和布局的对应关系。在处理嵌套ListView时,需要考虑到性能优化,避免过度复杂的设计,以...

    Android ListView,GridView的Adapter封装

    在 Android中 如果使用到了 ListView 或GridView 一定要 给其 添加 适配器Adapter 但 每次 写对应的 适配器时,其中很多方法都是 重复的 , 所以我这个demo 将其封装了起来,使用的时候,只需继承 我封装的类,然后...

    android ListView 使用 示例

    Android通过Adapter(适配器)来将数据源(如ArrayList)绑定到ListView,Adapter负责创建和填充这些View。 1. 创建ListView 在XML布局文件中添加ListView元素: ```xml &lt;ListView android:id="@+id/list_view" ...

    androidlistview里面使用radiobutton

    总结,将RadioButton应用于Android ListView涉及到自定义Adapter、单选逻辑处理和性能优化等多个方面。理解这些知识点对于开发高效、用户友好的Android应用至关重要。通过熟练掌握这些技术,开发者可以更好地实现...

    Android listview自动换行

    在Adapter的`getItemCount()`方法中,应返回实际数据项数量乘以每行的最大子项数,以确保ListView有足够的空间显示所有数据。 6. **设置ListView的LayoutParams**: 最后,记得设置ListView的LayoutParams,将其...

    Android ListView实例源码

    - 它通常与Adapter一起使用,Adapter负责将数据集(如数组或数据库查询结果)绑定到ListView的各个视图项。 2. **Adapter的概念**: - `Adapter`是连接数据源和ListView的桥梁,它根据数据创建并填充ListView的每...

Global site tag (gtag.js) - Google Analytics