`

listview你应该知道的方法

阅读更多
   1. 更新ListView中的数据,通过调用BaseAdapter对象的notifyDataSetChanged()方法:
      
         mAdapter.notifyDataSetChanged();

    2. 每个listview都有无效的位置,如第一行的前一行,最后一行的后一行,这个无效的位置是一个常量.

         ListView.INVALID_POSITION

    3. 有时我们需要在程序中通过点击按钮來控制ListView行的选中,这就用到了在程序中如何使用代码來选择ListView项.

         mListView.requestFocusFromTouch();
         mListView.setSelection(int index);

         第一条语句并不是必须的,但是若你ListView項中含有Button,RadioButton,CheckBox等比ListView取得 焦点优先极高的控件时,那么第一条语句是你必須加的.

    4.  同样的,若你ListView项中含有Button,RadioButton,CheckBox等比ListView取得 焦点优先级高的控件时,ListView的setOnItemClickListener是不被执行的,这时你需要在你的xml文件中对这些控件添加  android:focusable="false" 注意这条语句要放在xml文件中修改,在代码中使用是无效的.

    5. 如何保持ListView的滚动条一直显示,不隐藏呢:  xml文件中做如下修改    android:fadeScrollbars="false"

    6. ListView本身有自己的按键事件,即你不需要设置方向键的标识,按下方向鍵ListView就會有默认的动作,那如何进行控制,编写自己的onKey呢,你需要在Activity中重写dispatchKeyEvent(KeyEvent event);方法,在这里面定义你自己的动作就可以了

    7、如果要增加listView某一个item的点击效果,即点击后更改背景图片,可在activity中继承OnItemClickListener,然后在onItemClick方法中加上:
        public void onItemClick(AdapterView<?> parent, View view, int position, long id)
        {
        // 设置选中item背景图片,选中其它就将之前的置空
            if (position == id)
            {
                View preView = mFilmListView.getChildAt(mItemId); //记录之前点击的id
                preView.setBackgroundDrawable(null);
                view.setBackgroundResource(R.drawable.图片);
                mItemId = position;
            }
        }
这样就可以有点击Item时的点击效果了。

分享到:
评论

相关推荐

    C#中ListView控件的虚模式使用方法

    - 使用`VirtualListSize`属性设定虚拟列表的大小,这样ListView就知道需要多少个项,避免了无谓的计算。 - 缓存常用项的数据,减少数据库查询次数。 - 通过`BeginUpdate`和`EndUpdate`控制ListView的更新,避免...

    android中一个简单的LIstView用法例子

    3. **设置适配器**:在ListView对象上调用`setAdapter()`方法,传入创建好的适配器,这样ListView就能知道如何绘制每个项目了。 4. **定义项目视图**:每个ListView项都有自己的布局,可以通过XML文件定义。例如,...

    Android应用源码 ListView下拉刷新 Demo

    7. **通知数据变更**:当数据源更新后,不要忘记调用Adapter的`notifyDataSetChanged()`方法,以使ListView知道数据已更新并重新绘制。 8. **性能优化**:ListView的性能优化是另一个重要话题,包括使用ViewHolder...

    ListView动态添加、移除item

    2. 同样,调用`notifyDataSetChanged()`让ListView知道数据已改变,它会自动删除对应的itemView。 四、流畅性优化 1. ViewHolder模式:为提高性能,使用ViewHolder缓存itemView的子视图,避免每次滚动时都去查找子...

    ListView刷新和监听滚动事件选项事件的例子

    在`listviewdemo`这个项目中,你应该能看到一个完整的例子,包括布局文件、Adapter的实现以及Activity或Fragment中的代码。通过查看和运行这个示例,你可以更直观地理解ListView的刷新、滚动监听和选项事件的处理。...

    ListView学习(一)-ListView使用例子

    这时,需要重写Adapter的`getViewTypeCount()`和`getViewType()`方法,让ListView知道有多少种不同的布局。 - 布局管理:在`getView()`中,根据`getViewType()`返回的类型创建并返回相应的View。 4. **优化...

    ListView分组和字母导航

    同时,我们还需要注册一个OnScrollListener到ListView上,当滚动事件发生时,通过AlphabetIndexer的getSectionForPosition方法来确定当前显示的首字母,然后更新右侧的字母栏。 此外,为了提供更好的用户体验,我们...

    listview二级菜单

    3. 将Adapter设置给ListView,使ListView知道如何填充视图。 4. 设置ListView的OnItemClickListener,监听用户对列表项的点击事件。 当用户点击一级ListView中的某一项时,会触发`onItemClick()`回调。在这个回调中...

    ListView使用Demo

    1. setAdapter():设置Adapter,使ListView知道如何生成列表项。 2. setOnItemClickListener():监听列表项点击事件,实现用户交互。 3. setOnClickListener():为整个ListView设置点击事件。 4. ...

    listview分页加载

    你需要创建一个自定义的Adapter,重写`notifyDataSetChanged()`方法,以便在数据更新时通知ListView刷新视图。同时,Adapter需要知道何时加载下一页数据。 3. OnScrollListener:添加一个`AbsListView....

    ListView android源码

    除了默认的单行显示外,ListView还支持自定义布局,你可以通过Adapter的`getView()`方法返回不同类型的视图来实现复杂的列表布局。 10. 分割线(Divider): 默认情况下,ListView会在每个列表项之间绘制一条分割...

    实现listview按钮响应

    2. **适配器中实现接口**:在你的ListView适配器类中,添加一个对这个接口的引用,并在构造函数中传入实现接口的对象。同时,在`getView()`方法中,为每个按钮设置点击监听器,当按钮被点击时,通过接口调用`...

    winform listview带进度条

    首先,我们需要知道在WinForm中,我们可以使用Progress Bar控件(ProgressBar)来显示进度。要将进度条嵌入到ListView中,我们需要自定义一个用户控件(User Control),该控件包含一个ProgressBar和一些其他必要的...

    ListView的圆角效果

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。要实现ListView的圆角效果,我们需要理解...通过理解这些知识点,你可以根据自己的项目需求,灵活地实现不同风格的圆角ListView效果。

    listviewdemo

    这种方法巧妙地利用了ListView的复用机制和Adapter的`getViewTypeCount`与`getItemViewType`方法。`getViewTypeCount`是用来返回ListView中不同类型的视图总数,而`getItemViewType`则是在特定位置返回视图的类型。...

    android listView字母排列

    - 要实现字母索引,ListView需要知道数据的分段信息。为此,我们可以让Adapter实现SectionIndexer接口,提供`getSections()`和`getPositionForSection(int section)`方法。 4. **getSections()** - 这个方法返回...

    初试ListView万能适配

    5. **getItemType方法**:这个方法返回列表项的类型,使得Adapter知道如何创建正确的视图。可以根据数据模型的类型或额外的标识来判断。 6. **其他方法**:如`getCount`返回数据源的大小,`getItem`获取指定位置的...

    android ListView实现表格

    - 添加行:在Adapter中增加一个方法,比如`addRow(List&lt;String&gt; rowData)`,接收一行数据,更新Adapter的数据源并调用`notifyDataSetChanged()`通知ListView刷新。 - 添加列:可以考虑创建一个二维数组或者自定义...

    标题顶部悬浮的listview

    1. **适配器的扩展**:你需要扩展一个自定义的ListView适配器,比如继承ArrayAdapter,然后添加对分组和头部的支持。适配器需要知道何时将某个条目视为组标题,并在必要时返回相应的视图。 2. **头部视图**:为每个...

    android 15.从应用框架角度看ListView与Adapter类别

    当ListView需要展示数据时,它会通过BaseAdapter的getCount()方法获取列表项的数量,然后调用getView()方法为每个列表项生成对应的View对象。getView()方法是Adapter的核心,它允许开发者根据数据源返回一个定制的...

Global site tag (gtag.js) - Google Analytics