`
zdphpn
  • 浏览: 11452 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸市
社区版块
存档分类
最新评论

12、Dp Notes内容-列表(ListView使用)

阅读更多
        完成了一些空架子,开始填内容,从列表开始吧(主页没想好),列表很简单,一个ListView(从上往下能一直滑的那种,而且每块布局很类似)。ListView的使用和ViewPager很像,主要是Adapter。先在布局中引入ListView:
<ListView
    android:id="@+id/lv_list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/header_list" />

        ListFragment中定义ListView对象lv_list,从xml引入,不多说。ListView主要的一个方法setAdapter,可以通过Adapter控制ListView显示Item的个数,布局等等。新建包com.zdphpn.dpnotes.adapter,包中新建类ListAdapter,继承自BaseAdapter,有四个必须实现的方法,其中两个重要的,getCount(),ListView中显示Item个数,getView(),每个Item显示的内容,返回值View(可以通过将一个xml转为View返回)。另外再添加一个构造函数:
private Activity activity;
public ListAdapter(Activity activity){
    this.activity=activity;
}

        构造参数Activity activity(xml转View时用,所以构造函数传一个进来,也可以是其他的Context等)。先建一个ListView Item的布局文件item_list.xml,内容随意写了:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="@dimen/padding_s"
    android:paddingRight="@dimen/padding_s"
    android:paddingTop="@dimen/padding_ss"
    android:paddingBottom="@dimen/padding_ss" >
    
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:padding="@dimen/padding_n"
        android:background="@color/white_dark" >
    
        <TextView
            android:layout_width="wrap_content"
	    	android:layout_height="wrap_content"
	    	android:text="左" />
        <TextView
            android:layout_width="wrap_content"
	    	android:layout_height="wrap_content"
	    	android:layout_centerInParent="true"
	    	android:text="ListView Item" />

    </RelativeLayout>

</RelativeLayout>

        左右留点间距,ListView的滚动条位于Item外侧。ListAdapter的getView()引用:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    if(convertView==null){
        convertView=activity.getLayoutInflater().inflate(
R.layout.item_list, parent, false);
    }
    else{
        ;
    }
    return convertView;
}

        xml转为View返回,convertView先不说什么作用,getCount()函数返回值改为非0值。ListFragment中获取ListView对象并设置Adapter:
private View view;
private ListView lv_list;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    view=inflater.inflate(R.layout.fragment_list, container, false);
		
    lv_list=(ListView)view.findViewById(R.id.lv_list);
    lv_list.setAdapter(new ListAdapter(getActivity()));
		
    return view;
}

        注意是view.find(为什么呢?)。运行。

注:这是一个.gif动图,ctrl点击图片查看。Item的布局改过,不贴了。ListView使用是不是很简单?

始终如一——2016/11/01




  • 大小: 824.8 KB
分享到:
评论

相关推荐

    MVVMDemo---listView的使用.rar

    本示例"MVVMDemo---listView的使用"着重展示了在MVVM架构下如何有效地使用ListView来展示数据。 首先,MVVM架构的核心组件包括: 1. **Model**:模型层,负责处理应用程序的数据和业务逻辑。通常,这部分代码与...

    ListView总结---关于ListView的一些分享

    在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据的列表,具有滚动和复用视图的特点,能够高效地处理大量数据流。本文将深入解析ListView的工作原理及其使用技巧,结合`ContactListActivity分析....

    MVC-ListView-DataModel-master.zip

    MVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master....

    drag-sort-listview

    在"drag-sort-listview-master"这个压缩包中,你应该能找到项目的源代码、示例应用、README文件以及如何集成和使用的详细说明。通过研究这些内容,你可以深入理解该库的工作原理,并根据项目需求进行定制。对于希望...

    C#-WPF ListView实现可编辑数据项

    ListView通过使用ItemsSource属性绑定到数据源,通常是一个ObservableCollection或ICollectionView,这使得它能够动态地显示和更新数据。每个数据项在ListView中被表示为一个 ListViewItem,而每个ListViewItem则...

    Android应用源码之drag-sort-listview-master.rar

    本篇文章将深入剖析`drag-sort-listview-master`这个源码项目,揭示其工作原理,并提供实用的开发技巧。 首先,我们需要理解Drag-Sort-Listview的核心概念。它主要由两部分组成:拖动(Drag)和排序(Sort)。拖动是指...

    pinned-section-listview-master

    在`pinned-section-listview-master`中,`ListView`被扩展以实现一个特性,即“pinned sections”,也就是将特定的列表部分固定在顶部,这样即使用户滚动列表,这些分类也会始终保持可见,提高了用户的导航体验。...

    Flutter学习之旅(六)----ListView控件自定义Adapter以及带参数跳转

    Flutter学习之旅(六)----ListView控件自定义Adapter以及带参数跳转,博客对应地址:http://blog.csdn.net/zhangxiangliang2/article/details/76383244

    android--ListView下拉刷新demo

    在Android开发中,ListView是一种常见的组件,用于展示大量的列表数据。`ListView`的下拉刷新功能是提升用户体验的重要特性,特别是在处理动态加载数据的应用场景中。这个“android--ListView下拉刷新demo”就是一个...

    react-native-sortable-listview, ListView的拖放功能包装,用于响应本机.zip

    react-native-sortable-listview, ListView的拖放功能包装,用于响应本机 react-native-sortable-listviewListView的拖放功能包装,用于响应本机。 拖动时允许拖放自动滚动行。将它添加到你的项目中运行 npm install...

    VC++ 在列表视图(CListView)中使用列表控件----ListViewDemo

    本教程将深入探讨如何在VC++中利用`CListView`进行开发,特别关注如何在列表视图中使用列表控件,通过示例项目`ListViewDemo`来展示具体实现。 首先,我们需要创建一个新的MFC应用程序。在VC++环境中,选择“文件”...

    Android学习笔记-采用ListView实现数据列表显示-以及各种适配器使用-和如何写.pdf

    Android学习笔记-采用ListView实现数据列表显示-以及各种适配器使用-和如何写.pdf

    安卓listview相关相关-android ListView实现显示微信好友列表.rar

    在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表,如微信好友列表。本教程将聚焦于如何在Android应用中实现一个类似于显示微信好友列表的ListView。以下是关于ListView及其相关知识点的详细...

    安卓listview相关相关-drag-sort-listview是一个支持拖拽排序和左右滑动删除功能的自定义ListView.rar

    在Android开发中,ListView是常用的数据展示组件,用于显示大量数据列表。然而,原生的ListView功能相对简单,不支持一些高级交互,如拖拽排序和滑动删除。本资源"drag-sort-listview"提供了一个自定义的ListView...

    一,android开发经典实例系列-----ListView、GridView.doc

    - ListView是Android SDK中的一个视图组件,用于展示一列可滚动的项目列表。它可以动态加载数据,只渲染屏幕可见的部分,从而节省内存。 - ListView的核心组成部分包括: - **ListView本身**:承载和显示列表项的...

    安卓listview相关相关-Android--ListView返回第一条数据的实现.rar

    在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表。本资源"安卓listview相关相关-Android--ListView返回第一条数据的实现.rar"主要关注如何实现在ListView中快速定位到第一条数据。以下是对...

    Android--开发-- ListView下拉刷新 Demo.rar

    在Android应用开发中,ListView是常用的控件,用于展示大量数据列表。然而,为了提供更好的用户体验,许多应用都需要实现ListView的下拉刷新功能,让用户能够即时获取最新的数据。本示例"Android--开发-- ListView...

    Android-滑动listview标题置顶listview吸顶效果

    在Android应用开发中,UI设计和用户体验是至关重要的部分,特别是在构建列表视图(ListView)时。本知识点主要探讨如何实现“滑动ListView时标题置顶”和“ListView吸顶效果”,以及如何使安卓系统状态栏透明化。这些...

    antd-mobile ListView长列表的数据更新遇到的坑

    在使用antd-mobile的ListView组件构建长列表时,开发者可能会遇到数据更新后列表未刷新的问题。ListView是用于处理大量数据的高效列表组件,但其数据更新机制需要正确理解和配置才能正常工作。 首先,当数据发生...

    pinned-section-listview-1.0.0.jar

    pinned-section-listview-1.0.0.jar 已经用在项目中,方便给使用eplipse的朋友用。

Global site tag (gtag.js) - Google Analytics