Making a view in a listview invisible android

问题:

I have a ListView that‘s using a custom adapter. I want to dynamically add/remove items from the ListView. I‘ve tried everything inside the getView() method in my view adapter. I‘ve tried doing setVisiblity(View.GONE) on the view I‘m returning. And it in fact doesn‘t draw the view, but it still allocates space for the view and it‘s just a blank black space.

Is this even possible to set items in ListView invisible?

回复:

You need to call setVisiblity(View.GONE) on the returned view and all the views inside it. If you are reusing the convert view passed in you need to remember to call setVisiblity(View.VISIBLE) on all the views you want visible.

If you have a lot of invisible views you may need to set the divider height to 0 and add your own divider to the returned views. Otherwise the ‘invisible‘ views will each have a visible divider and produce a noticeable gray line between visible views.

结论:

1) 将View控件设置成不可视。

2) 将View内部的控件设置不可视。

3) 在xml布局文件将ListView分隔条高度置为0,采用自定义的分隔条。

4) 将View内部的分隔条设置不可视。

5) 第一行分隔条不可视。

时间: 2025-01-01 11:52:48

Making a view in a listview invisible android的相关文章

GridView & ListView (Android盒子开发)

一.GridView在Android4.4下关于焦点的bug的解决方式 Android4.4下,关于GridView有一个关于焦点的bug.这个bug并不容易被发现,但是在电视盒子的开发过程中就很明显.具体表现是,Gridview会一直持有一个焦点,只要有数据,就一直会有一个子View是Selected状态.而且,当数据从无到有的时候,GridView还会抢焦点. 最后解决这个bug的方式是这样的,建立一个自定义的GridView,重写一个方法, @Override public boolean

Android_(控件)使用ListView显示Android系统中SD卡的文件列表_02

使用ListView显示Android SD卡中的文件列表 父类布局activity_main.xml,子类布局item_filelayout(一个文件的单独存放) 运行截图: 程序结构 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="

delphi xe6 让 ListView 在 Android 可回弹[根据龟山阿卍原创修改为xe6版本]

Delphi XE6 找出 FMX.Platform.Android.pas 档案,并复制到自己的 Project 路径里,找到 GetScrollingBehaviour 函数,修改成如下: unit FMX.Platform.Android; function TPlatformAndroid.GetScrollingBehaviour: TScrollingBehaviours; begin Result := [TScrollingBehaviour.BoundsAnimation{可回

android中View的GONE和INVISIBLE的原理

废话只重复两句: GONE真的隐藏: INVISIBLE不可见但是预留了View的位置: 网上千篇一律的重复着这两句话并举着例子,并没有观察本质来作区分.查看源码后得知其区别希望广大朋友能够借鉴,源码如下: /* Check if the GONE bit has changed */ if ((changed & GONE) != 0) { needGlobalAttributesUpdate(false); requestLayout(); if (((mViewFlags & VIS

最常用和最难用的控件--ListView(Android第一行代码)

由于手机屏幕空间都比较有限,能够一次性在屏幕上显示的内容并不多,当我们的程序中有 大量的数据需要展示的时候,就可以借助 ListView 来实现.ListView 允许用户通过手指上下 滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕. 1.ListView 的简单用法首先新建一个 ListViewTest 项目,并让 ADT 自动帮我们创建好活动.然后修改activity_main.xml 中的代码,如下所示: <LinearLayout xmlns:android=&qu

Android_(控件)使用ListView显示Android系统中联系人信息

使用ListView显示手机中联系人的姓名和电话号码 父类布局activity_main.xml,子类布局line.xml(一个文件的单独存放) 运行截图: (避免泄露信息对部分地方进行了涂鸦O(∩_∩)O!) 程序结构 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android&quo

Android中View的事件分发机制——Android开发艺术探索笔记

欢迎转载,转载请注明出处http://blog.csdn.net/l664675249/article/details/50738102 介绍 点击事件的事件分发就是对MotionEvent事件的分发过程,当一个MotionEvent产生了以后,系统需要把这个事件传递给一个具体的View,而这个传递的过程就是分发的过程. 涉及到的三个方法 dispatchTouchEvent:用来进行事件的分发,如果事件能够传递给当前View,那么此方法一定会被调用,返回结果受当前View的onTouchEve

DrawerLayout使用

布局: 1 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 android:id="@+id/drawer_layout" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent&qu

Drawerlayout

mydrawerlayout.xml: 1 <?xml version="1.0" encoding="utf-8"?> 2 <android.support.v4.widget.DrawerLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 android:id="@+id/id_drawer_layout" 5 and