ListView使用技巧

来源:互联网 发布:电脑屏幕声音录制软件 编辑:程序博客网 时间:2024/06/11 05:59

1.ListView的常用优化
1.1使用ViewHold模式提高效率
ViewHold模式充分利用了ListView的视图缓存机制,避免了每次在调用getView的时候都去通过findViewById实例化控件。

在定义的Adapter中定义内部类ViewHolder ,并将布局中的框架作为成员变量private class ViewHolder {    public TextView headerCategory;    public View headerParent;    public TextView foodName;}public View getView(int position, View view, ViewGroup viewGroup) {    ViewHolder viewHolder =null;    //判断是否缓存    if (view == null) {        viewHolder=New ViewHolder();        //通过LayoutInflater实例化布局        view = LayoutInflater.from(getContext()).inflate(R.layout.food_list_view, null);        viewHolder.headerCategory = (TextView) view.findViewById(R.id.food_item_header);        viewHolder.headerParent = view.findViewById(R.id.food_item_header_parent);        viewHolder.foodName = (TextView) view.findViewById(R.id.food_name);        view.setTag(viewHolder );    }eles{        //通过tag找到缓存中的布局        viewHolder=(ViewHolder)view.getTag();    }    //设置布局中控件要显示的视图      viewHolder.headerCategory.setText("");      viewHolder.headerParent.setVisibility(VISIBLE);      viewHolder.foodName.setText("");    return view;}

1.2设置ListView分隔线
android:divider=”@android:color/dark_gray”
android:dividerHeight=”10dp”
特殊情况下:android:divider=”@null” 把分隔线设置为透明
1.3隐藏ListView的滚动条
android:scrollbars=”none”
1.4取消ListView的item的点击效果
点击ListView中某一项时,系统会出现一个点击效果,在5.0上是一个波纹效果,在5.0之下则是一个改变背景颜色的效果。
android:listSelector=”#00000000”或者使用android自带的透明色来实现这个效果“android:color/transparent”
1.5设置ListView需要显示在第几项
listView.setSelection(N);N就是需要显示的第n哥个item
1.6动态修改ListView
mData.add(“new”);
mAdapter.notifyDataSetChanged();

0 0
原创粉丝点击