listview 订阅
ListView 控件可使用四种不同视图显示项目。通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。 可使用 ListView 控件将称作 ListItem 对象的列表条目组织成下列四种不同的视图之一:1.大(标准)图标2.小图标3.列表4.报表 View 属性决定在列表中控件使用何种视图显示项目。还可用 LabelWrap 属性控制列表中与项目关联的标签是否可换行显示。另外,还可管理列表中项目的排序方法和选定项目的外观。 展开全文
ListView 控件可使用四种不同视图显示项目。通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。 可使用 ListView 控件将称作 ListItem 对象的列表条目组织成下列四种不同的视图之一:1.大(标准)图标2.小图标3.列表4.报表 View 属性决定在列表中控件使用何种视图显示项目。还可用 LabelWrap 属性控制列表中与项目关联的标签是否可换行显示。另外,还可管理列表中项目的排序方法和选定项目的外观。
信息
外文名
LISTVIEW
类    型
控件
功    能
可使用四种不同视图显示项目
属    性
计算机技术
LISTVIEW属性
DropHighlight属性(ListView, TreeView控件),LabelEdit属性,SelectedItem属性(ActiveX控件),ColumnHeaderIcons属性,Checkboxes属性,FullRowSelect属性,AllowColumnRecorder属性,FlatScrollBar属性,GridLines属性(ListView控件),HoverSelection属性,PictureAlignment属性,HotTracking属性,TextBackground属性,Arrange属性(ListView控件),ColumnHeaders属性(ListView控件),HideColumnHeaders属性(ListView控件),Icons,SmallIcons属性,ListItems属性(ListView控件),LabelWrap属性(ListView控件),MultiSelect属性(ListView,TabStrip控件),SorKey属性(ListView控件),SortOrder属性(ListView控件),View属性(ListView控件),Sorted属性(ListView控件),TabIndex属性,DragIcon属性,DragMode属性,MouseIcon属性,TabStop属性,HelpContextID属性,Name属性,Parent属性,Font属性,Container属性,ToolTipText属性,WhatsThisHelpID属性,OLEDragMode属性(ActiveX控件),OLEDropMode属性(ActiveX控件),Picture属性(ActiveX控件),Height,Width属性(ActiveX控件),Index属性(ActiveX控件),Left, Top属性(ActiveX控件),Tag属性(ActiveX控件),Object属性(ActiveX控件),Appearance属性(ActiveX控件),BackColor, ForeColor属性(ActiveX控件),BorderStyle属性(ActiveX控件),Enabled属性(ActiveX控件),HideSelection属性(ActiveX控件),hWnd属性(ActiveX控件),MousePointer属性(ActiveX控件)。
收起全文
精华内容
下载资源
问答
  • ListView

    千次阅读 2011-05-15 14:13:00
     ListView 是 AdapterView的子类,AdapterView.OnItemClickListener、AdapterView.OnItemSelectedListener 这些关乎Item的操作都是在AdapterView中就有的抽象。  ListView 只是在此基础上加了一些其他的功能,...

    1. 基本使用方法

        ListView 是 AdapterView的子类,AdapterView.OnItemClickListener、AdapterView.OnItemSelectedListener 这些关乎Item的操作都是在AdapterView中就有的抽象。
        ListView 只是在此基础上加了一些其他的功能,比如:addFooterView、addHeaderView  等,

       //使用示例

       ListView listView=new ListView(context);
       listView.setCacheColorHint(0);//滚动时透明
       Drawable color=new ColorDrawable(0xFFFFFFFF); //或使用Color.parseColor("#FFFFFF"),若使用0x00FFFFFF显示不出来。
       listView.setDivider(color);//设置分割线
       listView.setDividerHeight(1);

     

       xml配置:

        <ListView android:id="@+id/listView" 
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" 
            android:divider="#FFF"
            android:dividerHeight="1px"
            android:layout_margin="10dip"/>

     

     

    2.Adapter介绍 http://code.google.com/p/androidlearn/wiki/Adapter

       ArrayAdapter是一个绑定View到一组对象的通用类。默认情况下,ArrayAdapter绑定每个对象的toString值到在layout中预先定义的TextView控件上。 可变通的,构造函数允许你使用更加复杂的layout或者通过重写getView方法来扩展类从而使用TextView的替代物(如ImageView或嵌套的layout)。

     

        The android.R.layout.simple_list_item_1.xml Android example source code

        http://www.devdaily.com/java/jwarehouse/android-examples/platforms/android-2/data/res/layout/simple_list_item_1.xml.shtml

     

    重写Adapter类需要实现的方法  http://code.google.com/p/androidlearn/wiki/Adapter_custom

    需要重写Adapter类的四个方法
    public int getCount();

    public Object getItem(int position);

    public long getItemId(int position);

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

     

    3.过滤

       listView.setTextFilterEnabled(true);
       listView.setFilterText("a");

       会显示出一个过滤后的新的ListView层

      Android的数据过滤机制  http://winuxxan.blog.51cto.com/2779763/509931

     

    4.多选

       ListView 可以以多种样式展现,比如多选式设置 ArrayAdapter<T>() 的第二个参数为 android.R.layout.simple_list_item_multiple_choice,但此时的列表项被选中后并不会出现“绿勾”,还需 ListView的 setChoiceMode(ListView.CHOICE_MODE_MULTIPLE) 方法辅助。

       http://www.i1987.org/?p=242

      取多选的结果  

     SparseBooleanArray sparseBooleanArray=listView.getCheckedItemPositions();
           int size=sparseBooleanArray.size();
           for(int i=0;i<size;i++)
           {
            int index=sparseBooleanArray.keyAt(i);
           
            //如果选中后中再去掉选择,这个项仍被选中了,在这里需要再次判断
            if(listView.getCheckedItemPositions().get(index))
            {
             .....
            }
           }

     

    5.刷新

       BaseAdapter.notifyDataSetChanged();

     

    6.ArrayAdapter

       例 ArrayAdapter<Object> listViewAdapter=new ArrayAdapter<Object>(this,android.R.layout.simple_list_item_1,objList);
            listView.setAdapter(listViewAdapter);

     

    7.快速滑动效果,在开始普通滚动列表后,滑动控制块出现。

       listView.setFastScrollEnabled(true);//就这么简单

     

    8.addHeaderView

      1.addHeaderView在setAdapter之前调用,2.HeaderView不要设置setLayoutParams, 3.onClick的position
      EditText editText=new EditText(this);
      editText.setText("abc");
      listView.addHeaderView(editText);

     

    9.
      

     

     

    展开全文
  • Android实现ListView的A-Z字母排序和过滤搜索功能,完整源码,小伙伴需要的来CSDN下载吧!项目详情http://blog.csdn.net/xiaanming/article/details/12684155
  • 横向ListView的完整实现 包含基于横向listview做的一个小相册demo 具体过程参见:http: blog csdn net yanzi1225627 article details 21294553
  • 1.ListView嵌套ListView 或者RecyclerView嵌套ListView都只能显示一行,原因是不知ListView的高是多少,如果完全显示嵌套的ListView,则需要修改ListView的测量规则 public class MyListView extends ListView { ...

    1.ListView嵌套ListView 或者RecyclerView嵌套ListView都只能显示一行,原因是不知ListView的高是多少,如果完全显示嵌套的ListView,则需要修改ListView的测量规则

    public class MyListView extends ListView {
        public MyListView(Context context) {
            super(context);
        }
    
        public MyListView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public MyListView(Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
        }
    
    
        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    
            int height = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE / 2, MeasureSpec.AT_MOST);
    
            super.onMeasure(widthMeasureSpec, height);
        }
    }

    2.布局文件中使用

    <com.utils.MyListView
                android:id="@+id/fragment_comment_listview"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"></com.utils.MyListView>
    展开全文
  • ListView滑动删除 ,仿腾讯QQ 源码程序

    千次下载 热门讨论 2014-04-04 23:15:25
    ListView滑动删除 ,仿腾讯QQ的源码
  • android listView嵌套ListView,子listView第一个显示全了,其他的没显示。 ![图片说明](https://img-ask.csdn.net/upload/201708/22/1503391737_599360.jpg) 下面是我的代码。帮看看哪里有问题。。 这是第一个...
  • ListView中嵌套ListView

    千次阅读 2017-06-20 15:48:27
    开发过程中很多次都会遇到一个重大问题,设计中总是要listview中嵌套一个listview,但是很多基本的实现就直接在外层item中直接一个listview,这样就导致了listview在自身测量的时候无法测量到item的高度,这样并不会...

    开发过程中很多次都会遇到一个重大问题,设计中总是要listview中嵌套一个listview,但是很多基本的实现就直接在外层item中直接一个listview,这样就导致了listview在自身测量的时候无法测量到item的高度,这样并不会报错,只是显示不全,一般只能显示嵌套listview的第一个条目。然后很多人为此就放弃了,然后通过listview的属性addheader或者addFooter的方法来添加,但是原理还是一样一样不会成功的。

    下面就要来介绍我采用的方式了,就是在adapter里面对item进行测量,然后获取item的个数直接将listview的高度写死。多说无益,直接看代码

     

    ListView lv_skills = viewHolder.getView(R.id.lv_skills, ListView.class);
            final ArrayList<HashMap<String, Object>> listData = new ArrayList<>();
            listData.clear();
            try {
                JSONArray jsonArray = new JSONArray(info.get("studylist").toString());
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jsoo = jsonArray.getJSONObject(i);
                    HashMap<String, Object> map1 = new HashMap<String, Object>();
                    Iterator it = jsoo.keys();
                    while (it.hasNext()) {
                        String key = (String) it.next();
                        String value = jsoo.getString(key);
                        map1.put(key, value);
                    }
                    listData.add(map1);
                }
                ViewGroup.LayoutParams params = lv_skills.getLayoutParams();
                int height = 0;
                height = listData.size() * DensityUtil.dip2px(context, 110);
                params.height = height;
                lv_skills.setLayoutParams(params);
            } catch (JSONException e) {
                e.printStackTrace();
            }

    为什么我写个110呢,因为我的子listview的item的高度是110dp,这个必须限制高度,要不然在外层测量的时候测量不出来的,或者你在里层去测量,然后同样的方法走一遍。

     

    这样就很轻松的解决了listview中嵌套listview的问题了

     

     

     

    展开全文
  • ListView嵌套ListView优化

    千次阅读 2014-05-07 21:43:46
    在做业务时候,一个ListView显示多种数据类型,我们想到的方法是ListView在嵌套一个ListView,对于子ListView 占父ListView的一行,就解决了问题,但是这样的逻辑是不是有点奇怪呢? 第一,父ListView的长度size...
    在做业务时候,一个ListView显示多种数据类型,我们想到的方法是ListView在嵌套一个ListView,对于子ListView
    占父ListView的一行,就解决了问题,但是这样的逻辑是不是有点奇怪呢?


    第一,父ListView的长度size需要加1,因为增加了一行放子listView
        public int getCount() {
            return datas.size()+1;
        }

    第二,需要判断在什么地方插入子listView ,就要用到getViewTypeCount()和getItemViewType (int position)两个方法

    public int getItemViewType (int position){
            if(position==CHRILDLOCATION){//插入子ListView位置
                 return  TYPE_0;//TYPE_0表示子ListView标志
           }
              
    return  TYPE_1;//TYPE_1表示父ListView标志

    }

    第三,需要在父UI更新时候,当position>CHRILDLOCATION时对position-1,因为你在前面插入了子listView,其实后
    面得到的position,都占了一个位置.需要这时候减去
    这三步理解起来就让人够烦了,很混乱吧,还有更糟糕的事情,就是,子ListView你还要new 一个Adapter来遍历

    出它的item,这样就形成循环中嵌套循环,你的代码性能是不是很差。


    重点来了:

    我们可以在传入Adapter的数据中做文章,把不同的数据类型都用Object代替,然后把Object放入List集合,

    在Adapter,判断类型,比如:一个商品列表,中间会杂着一些商品主题团,我们就通过List<Object>封装

    这两种数据类型,实现对上面ListView嵌套的讲解。


    第一,在Adapter之外封装成一个List<Object>,就不需要在用到子ListView了,数据都在list中,也就不需要对

    datas.size()+1的操作了,只需要判断数据类型,然后做上面第二步操作;

    public int getItemViewType (int position){
            if(datas.get(position) instanceof “商品主题团”){
                 return  TYPE_0;//TYPE_0表示商品主题团

           }
              

    return  TYPE_1;//TYPE_1表示商品

    }


    完了,也就不需要对数据更新Ui时候减一操作,避免了降低了出错的概率。
    主要是不需要在getView中在new Adapter了,性能提高很大。
    展开全文
  • android ListView 嵌套 ListView

    千次阅读 2018-08-11 18:24:56
    看上去效果还是不错,不过现在有个刷新问题一直没能解决,刷新的时候里面的adapter进行刷新的时候总是会让里面的listview消失掉,应该是父listview先刷新完后,子listview还未刷新完成,导致测量的高度不对,就会...
  • Flutter ListView详解

    万次阅读 2018-11-15 22:51:49
    ListView详解ListView常用构造ListViewListView ListTileListView builderListView separatedListView custom ListView常用构造 ListView ListView ListTile ListView builder ListView separated ListView ...
  • Android—— ListView 的简单用法及定制ListView界面

    万次阅读 多人点赞 2017-04-14 12:13:46
    一、ListView的简单用法 2. 训练目标 1) 掌握 ListView 控件的使用 2) 掌握 Adapter 桥梁的作用 二、定制ListView界面 1.训练目标 1) 掌握 ListView 控件的使用 2) 掌握如何自定义 Adapter 的使用
  • Android核心组件 ListView 详解

    万人学习 2016-05-28 19:47:58
    在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。 ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过...
  • 在子ListView设置adapter后调用下面方法即可解决。 public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { ...
  • flutter ListView嵌套ListView滚动问题

    千次阅读 2019-08-30 11:32:29
    在flutter开发中ListView嵌套ListView时,俩个ListView都会滚动,而不是一个整体,只需要设置子组件不滚动,并设置高度就可以解决这个问题 Widget build(BuildContext context) { return ListView( children: <...
  • 在适配器中,添加完子listView的适配器后,调用改方法,就可改善 public class Utility { public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView....
  • 解决listview 嵌套listview

    千次阅读 2017-02-03 16:01:55
    这几个文件是我从某位大神的简书上得来的,但是一时找不到这位仁兄,如果看到,请联系我,我将注明转载地址。 前段时间公司要开发一个软件产品,项目经理和我们的设计狮发过来一份UI,看到这...首先listview 嵌套list
  • 我的思路如图所示,大listview嵌套小listview,但是我发现一个问题是给小listview设置适配器后,传入的值与到达小listview getview时的值不一致(值多了好多个,而每一组数据都是乱的,比传入的数据多几个),不知道...
  • listview中嵌套了一个listview,里面的listview内的textview无法显示多行文字
  • Listview嵌套ListView点击事件冲突

    千次阅读 2018-09-06 18:11:38
    1.让外层listview的item的根布局拦截事件  android:descendantFocusability="blocksDescendants" 2.让内层的Listview不拦截事件: 重写Listview的onInterceptTouchEvent()方法使之返回false 3.内层...
  • Listview嵌套Listview的实现方法

    千次阅读 2016-11-12 09:32:20
    Listview嵌套Listview的实现
  • 在开发业务中有很多场景都是,一个竖直排列的ListView里面套用一个水平排列的ListView,但是直接套用会报错,于是在网上搜索各种解决办法,有些文章会提示加一些属性,但是这个直接原因就是水平排列的ListView没有...
  • 点击上面的最上面一项里面listview中的哪个小手机删除的时候把下面那一项里面的listview中的三项都删除了 还有就是前面三项都删了的时候删除第四项的时候下标越界 我的思路是我在删除的时候并不知道我删除的到底是...
  • Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果,项目详情http://blog.csdn.net/xiaanming/article/details/17539199
  • android中listview的item滑动删除效果,已解决listview点击问题
  • 经常遇到滚动需要嵌套滚动的情况,只需要增加两个属性即可: ...return ListView.builder( shrinkWrap: true, //解决无限高度问题 physics: NeverScrollableScrollPhysics(), //禁用滑动事件 ...
  • Android 如何在ListView中嵌套ListView

    千次阅读 2018-09-15 11:32:07
    因为项目MRD的需要,要在一个ListView中放入另一个ListView,也即在一个ListView的每个ListItem中放入另外一个ListView。但刚开始的时候,会发现放入的小ListView会显示不完全甚至是空白一片完全不显示,它的高度...
  • WPF ListView

    千次阅读 2016-09-09 00:15:43
    最近在研究WPF ListView数据绑定就不说了,想将ListView的样式弄成跟Winform一样的,就是每一个row能够设置不同的背景色和前景色,经过查询可以用下面的方法:ListViewItem item = this.listView....
  • 解决ListView嵌套ListView遇到的问题

    千次阅读 2014-06-13 20:45:30
    Listview嵌套会造成的问题主要是子listview的高度错误导致内容不能正常显示完,解决这个问题,我个人第一个想法就是重新计算子listview的高度,代码如下: private void setListViewHeightBasedOnChildren(ListView...
  • ListView乱谈之ListView的布局

    千次阅读 2015-09-26 18:09:15
    ListView 布局实现原理的简单总结
  • 项目需要listview中嵌套子listview,发现触发不了子listview点击事件,然后网上查询相关资料,亲测发现解决问题方法: 1.在子listview的item最外面的一层布局LinearLayout 添加 android:descendantFocusability=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,291
精华内容 38,516
关键字:

listview