首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    BaseAdapter的notifyDataSetChanged方法

    都用过 BaseAdapter的notifyDataSetChanged()方法,用法很简单,当BaseAdapter的数据更新了,需要更改显示,这时候就要调用notifyDataSetChanged(...)方法来更新数据,当然你可以用一种比较恶心的方式,在你所使用的AdapterView(这里是指AdapterView的子类,ListView,GridView,Gallery等等),调setAdapter...GridView的setAdapter()方法: /** * Sets the data behind this GridView. * * @param adapter the adapter providing...这个函数中做了这么几件事: 下面我们看一下更新是如何完成的,在listView中有如下函数: private View makeAndAddView(int position, int y,...那执行完这段代码之后会执行什么呢?requestLayout();熟悉这个函数的都知道,这个函数的调用会让子控件,也就是当前的ListView重新向父控件请求layout。

    1.2K30

    GridView结合tablayout实现展开收缩功能

    未命名.gif 实现步骤: 布局文件创建(由于上面图不是很清楚,这里就把全部布局代码) 自定义适配器 tablayout的使用,gridview折叠展开,并且调出数据 1:布局文件创建 这里需要注意的是...TabLayout,要添加依赖 compile 'com.android.support:design:25.3.1' 里面一个GridView,一个tablayout,一个listview...();这里也可以直接把listDataAll传进去,但传进去还要再new一个适配器,这就不如直接notifyDataSetChanged()了。...//定义在方法外 public List listS = new ArrayList();//显示tablayout下listview数据 public static...myGVAdapter2.notifyDataSetChanged();这里只通知listview就可以了,GV通知要在btn(展开收缩按钮)中添加。

    3K80

    带你一步步实现可拖拽的GridView控件

    经常使用网易新闻的童鞋都知道在网易新闻中有一个新闻栏目管理,其中GridView的item是可以拖拽的,效果十分炫酷。...当window的位置坐标在GridView里面时,使用pointToPosition (int x, int y)方法来判断对应的应该是哪个item,在adapter中作出数据集相应的变化,然后做出平移的动画...当用户手指抬起时,把window移除,使用notifyDataSetChanged()做出GridView更新。 讲完了思路后,我们就来实践一下吧,把这个控件取名为DragGridView。...()之后,我们就要考虑当手指滑动时window也要跟着动了,我们重写onTouchEvent(MotionEvent ev)来监听滑动事件,可以看到下面的updateWindow(ev)方法。...break; } return super.onTouchEvent(ev); } 这里贴出updateWindow(ev)方法: /** * 触摸移动时,window更新

    1.2K20

    【Android 控件使用及源码解析】 GridView规则显示图片仿微信朋友圈发图片

    想了一下用GridView再适合不过了,GridView可以动态加载图片的数量,而且还比较规律。...下面说一下自己的思路: 1.获取网络图片 2.初始化gridview,自定义适配器 3.根据图片数量设置gridview的列数 4.更新适配器 下面贴上部分源码并给大家解析一下 一、首先是GridView...else if (size>2){ noScrollgridview.setNumColumns(3); } picAdapter.notifyDataSetChanged...的下部分位置 7)fitStart:把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的上部分位置 8)fitXY:把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例...,填满ImageView. ok就先这样了,以后我会经常更新博客和大家分享的

    1.2K10

    观察者模式及在Android源码中的应用

    抽象观察者类 /** * 抽象观察者类,为所有具体观察者定义一个接口,在得到通知时更新自己 */ public interface Observer { /** * 有更新...小光,xxx电视剧更新了! 小兰,xxx电视剧更新了!...Android源码中的应用 在以前,我们最常用到的控件就是ListView了,而ListView最重要的一个点就是Adapter,在我们往ListView添加数据后,我们都会调用一个方法: notifyDataSetChanged...跟进这个方法notifyDataSetChanged方法,这个方法定义在BaseAdapter中,代码如下: public abstract class BaseAdapter implements ListAdapter...在AdapterDataSetObserver的onChanged函数中会获取Adapter中数据集的新数量,然后调用ListView的requestLayout()方法重新进行布局,更新用户界面。

    53110

    gradeview可拖动效果实现

    ,大致的做了出来,目前在模拟器上似乎有一点小BUG,真机测试没有问题,就先放上来,如果发现问题在修改优化。...二、开发前的准备 1.了解重写View的相关知识,并且知道GridView的一些内部方法,如:怎么通过触摸的坐标获取对应的position等(这里我采用的是继承GridView控件) 2.了解屏幕触摸动作传递原理...获取数据库中频道的列表,如果为空,赋予默认列表,并存入数据库,之后通过对应的适配器赋给对应的GridView 2.  2个GridView--(1.DragGrid   2....DragGrid) {                       otherAdapter.setVisible(true);                       otherAdapter.notifyDataSetChanged...显示刚拖动的ITEM         mDragAdapter.setShowDropItem(true);   // 刷新适配器,让对应的ITEM显示         mDragAdapter.notifyDataSetChanged

    2.5K80

    Android开发笔记(三十八)列表类视图

    2、定义了一个数据观察者AdapterDataSetObserver,用于在列表数据发生变化时,可以通过notifyDataSetChanged方法来更新视图。...ellipsize : 指定字符超出TextView区域时的显示方式,取值说明如下:start表示在字符串开头显示省略号,end表示在字符串末尾显示省略号,middle表示在字符串中间显示省略号,marquee...两种使用方式的区别如下: 1、ListActivity方式的视图id被设置为系统id,不方便在代码中修改该列表视图的属性; 2、ListActivity方式只实现点击方法、未实现长按方法,不方便响应列表项的长按事件...下面是GridView常用的属性和方法: xml布局上的属性设置: horizontalSpacing : 指定子视图在水平方向的间距。...代码中的方法: setHorizontalSpacing : 设置子视图在水平方向的间距。 setVerticalSpacing : 设置子视图在垂直方向的间距。

    2.4K20

    Android设计模式学习之观察者模式

    这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 模式中的角色 抽象主题(Subject):它把所有观察者对象的引用保存到一个聚集里,每个主题都可以有任何数量的观察者。...抽象观察者(Observer):为所有的具体观察者定义一个接口,在得到主题通知时更新自己。...,我们最常用到的控件就是ListView了,而ListView最重要的一个点就是Adapter,在我们往ListView添加数据后,我们都会调用一个方法: notifyDataSetChanged(),...跟进这个方法notifyDataSetChanged方法,这个方法定义在BaseAdapter中,代码如下: public abstract class BaseAdapter implements ListAdapter...在AdapterDataSetObserver的onChanged函数中会获取Adapter中数据集的新数量,然后调用ListView的requestLayout()方法重新进行布局,更新用户界面。

    32510

    ThoughtWorks——结对编程

    观察者模式 网上很容易查到观察者模式的定义: 观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。...你可能已经用过ListView的adapter.notifyDataSetChanged来触发ListView的列表界面进行更新。...notifyDataSetChanged的内部实现就是基于观察者模式。 ?...标准答案: 适配器模式:GridView、ListView的Adapter; 建造者模式:AlertDialog.Builder; 观察者模式:ListView的adapter.notifyDataSetChanged...; 责任链模式:View的事件分发; 有兴趣关注下公众号 持续更新 ---- Android历练记 是一个关于Android最新技术探讨,包含安全,架构,Android技术开发,ui绘制,源码解析等领域

    3.2K30

    私人订制Android本地图片选择器

    导入GalleryFinal源码 详情参考: 【Mac流派】程序猿修炼之道(6)-技能篇之git指令 Android Studio导入第三方库的三种方法 写一个GridView 这里声明一下...,选择图片的Activity是GalleryFinal自带的,所以我们这里要写的GridView是用来显示选中并返回的图片,这里的代码就不放出来了,效果图如下: ?...未选择时 ? 选择图片时 本人实现的可支持最大图片数量是5,在图片选满的时候依然显示“+”,用以跳转图片选择页面选择其他图片。...其原因是,若之前我选择好图片,但是想想,现在我不想要选择的图片了,这时候我们想把图片清空掉,这时候需要点击浮动按钮,来更新选中图片的列表。...未选择图片时不显示预览按钮 通过布局的id——iv_preview在PhotoSelectActivity中查找,在refreshSelectCount方法里找到了对预览按钮可见性的设置:

    1.4K30

    Android 编程之第三方开发 MaoZhuaWeiBo微博开发演示样例-1「建议收藏」

    由于UI后写的话,能够相对降低工作量,由于主要核心还是在功能,而UI是给用户不同的视觉体验吧 创建好Project之后,先给咱们的清单文件xml载入权限代码: <uses-permission...{ @Override public void run() { currentItem = (currentItem + 1) % mimageIds.length; // 更新界面...//Public与Private 是对象的訪问权限 //public(共同拥有) 说明不论什么类在不论什么地方都能调用它 //private(私有) 说明仅仅有在本类内被调用 public...= (GridView)view.findViewById(R.id.gridView); ImageView icon = (ImageView...保存了最后一次动态的数据在本地: 数据都是来自腾讯server的。不是本地的。首页界面: 这个GridView我还没有做不论什么拓展。

    49310

    可拖拽gridview

    在Android开发中,我们常常用到ListView和GridView,而有的时候系统的ListView,GridView并不能满足我们的需求,所以我们需要自己定义一个ListView或者GridView...的控件,GridView主要是来显示网格的控件,在Android的开发中使用很普通,相对于TextView,Button这些控件来说要来的复杂些,今天给大家带来长按GridView的item,然后将其拖拽其他...来实现一个定时器,假如定时时间为1000毫秒,在1000毫秒内,如果手指抬起了移除定时器,没有抬起并且手指点击在GridView的item所在的区域,则表示我们长按了GridView的item 如果我们长按了...item则隐藏item,然后使用WindowManager来添加一个item的镜像在屏幕用来代替刚刚隐藏的item 当我们手指在屏幕移动的时候,更新item镜像的位置,然后在根据我们移动的X,Y的坐标来获取移动到...如上图的6号线 理解了这六个距离,我们就来看看创建Item镜像的方法里面,其他的我不多说,首先设置format为PixelFormat.TRANSLUCENT,表示除了我们显示图片和文字的其他地方为透明,之后就是

    4.9K50
    领券