baseadapter

How to Refresh ListView in Fragment that is filled with BaseAdapter?

折月煮酒 提交于 2020-03-14 09:16:51
问题 I want to Refresh a ListView in a Fragment when a Dialog is closed. Until now the refresh only works when I restart the app and I don't really know why. Here are the classes: This is the Fragment with the ListView on it, that i want to refresh, when the Dialog is closed. public class RegisterListFragment extends Fragment { public static final String TAG = "RegisterListFragment"; RegisterListAdapter adapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,

Android设计模式系列--之适配器模式

大兔子大兔子 提交于 2020-03-05 21:46:43
quote frome: http://www.cnblogs.com/qianxudetianxia/archive/2012/02/27/2010965.html 对于android开发者来说起,适配器模式简直太熟悉不过,有很多应用可以说是天天在直接或者间接的用到适配器模式,比如ListView。 ListView用于显示列表数据,但是作为列表数据集合有很多形式,有Array,有Cursor,我们需要对应的适配器作为桥梁,处理相应的数据(并能形成ListView所需要的视图)。 正是因为定义了这些适配器接口和适配器类,才能使我们的数据简单灵活而又正确的显示到了adapterview的实现类上。 适配器模式,Adapter Pattern,勇敢的去适配,大量的资源可以重用。 1.意图 适配器模式,把一个类的接口变换成客户端所期待的另一种接口,从而使原本不匹配而无法在一起工作的两个,类能够在一起工作。 适配器模式分为类适配器模式和对象适配器模式。 关于类适配器模式,因为java的单继承,如果继承一个类,另外的则只能是接口,需要手动实现相应的方法。 热门词汇: 类的适配器模式 对象的适配器模式 缺省适配器模式 源类 目标接口 2.结构图和代码 为了简明直接,我省略了相关的其他适配器 ,只以此两个适配器为例。 ListViews做为client,他所需要的目标接口(target

Android中的Adapter、BaseAdapter、ArrayAdapter、SimpleAdapter和SimpleCursorAdapter

房东的猫 提交于 2020-02-28 21:33:38
总结: Adapter相当于一个数据源,可以给AdapterView提供数据,并根据数据创建对应的UI,可以通过调用AdapterView的setAdapter方法使得AdapterView将Adapter作为数据源。 Adapter接口 : Adapter接口定义了如下方法: public abstract void registerDataSetObserver (DataSetObserver observer) Adapter表示一个数据源,这个数据源是有可能发生变化的,比如增加了数据、删除了数据、修改了数据,当数据发生变化的时候,它要通知相应的AdapterView做出相应的改变。为了实现这个功能,Adapter使用了观察者模式,Adapter本身相当于被观察的对象,AdapterView相当于观察者,通过调用registerDataSetObserver方法,给Adapter注册观察者。 public abstract void unregisterDataSetObserver (DataSetObserver observer) 通过调用unregisterDataSetObserver方法,反注册观察者。 public abstract int getCount () 返回Adapter中数据的数量。 public abstract Object getItem

第十三周学习进度条

陌路散爱 提交于 2020-02-12 15:52:38
软件工程学习进度条 第十三周 说明 所花时间(包括上课时间) 30小时(上课时间4个小时,26小时用于看教材和安卓相关资料) 代码量(行) 1000+ 博客量(篇) 8篇 进度条1篇 找水王一篇 个人工作总结6篇 了解到的知识点 (1)安卓开发: 了解到baseadapter的用法,如何重写baseadapter。 baseadapter中关键是重写getview的方法。 使用sqlit新建数据库并进行数据的增删改查 (2)找小水王: 将上一次找水王的解题思路迁移过来,这次是设置四个记录 进行比较,若全不同则全删除,否则相应人的出现次数加一,这样 总的比例变化不大,大致符合初始的比例分配情况 来源: https://www.cnblogs.com/seven-seven/p/5600532.html

Android必学之数据适配器BaseAdapter

戏子无情 提交于 2020-02-10 03:41:12
.什么是数据适配器? 下图展示了数据源、适配器、ListView等数据展示控件之间的关系。我们知道,数据源是各种各样的,而ListView所展示数据的格式则是有一定的要求的。数据适配器正是建立了数据源与ListView之间的适配关系,将数据源转换为ListView能够显示的数据格式,从而将数据的来源与数据的显示进行解耦,降低程序的耦合性。这也体现了Android的适配器模式的使用。对于ListView、GridView等数据展示控件有多种数据适配器,本文讲解最通用的数据适配器——BaseAdapter。 .ListView的显示与缓存机制 我们知道,ListView、GridView等控件可以展示大量的数据信息。假如下图中的ListView可以展示100条信息,但是屏幕的尺寸是有限的,一屏幕只能显示下图中的7条。当向上滑动ListView的时候,item1被滑出了屏幕区域,那么系统就会将item1回收到Recycler中,即View缓冲池中,而将要显示的item8则会从缓存池中取出布局文件,并重新设置好item8需要显示的数据,并放入需要显示的位置。这就是ListView的缓冲机制,总结起来就是一句话:需要时才显示,显示完就被会收到缓存。ListView,GridView等数据显示控件通过这种缓存机制可以极大的节省系统资源。 .BaseAdapter

Android ListView使用BaseAdapter与ListView的优化 (转至 http://www.open-open.com/lib/view/open1339485728006.html)

走远了吗. 提交于 2020-02-10 02:54:29
在 ListView 的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作。也就是说,这个 ListView 不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点。读者可以试试用 SimpleAdapter 添加一个按钮到 ListView 的条目中,会发现可以添加,但是却无法获得焦点,点击操作被 ListView 的 Item 所覆盖。这时候最方便的方法就是使用灵活的适配器 BaseAdapter 了。 ▲ 图 4-35 BaseAdapter 中的方法 使用 BaseAdapter 必须写一个类继承它,同时 BaseAdapter 是一个抽象类,继承它必须实现它的方法。 BaseAdapter 的灵活性就在于它要重写很多方法,看一下有哪些方法,如图 4-35 所示为继承自 BaseAdapter 的 SpeechListAdapter 所实现的方法,其中最重要的即为 getView() 方法。这些方法都有什么作用呢?我们通过分析 ListView 的原理来为读者解答。 当系统开始绘制 ListView 的时候,首先调用 getCount() 方法。得到它的返回值,即 ListView 的长度。然后系统调用 getView() 方法,根据这个长度逐一绘制 ListView 的每一行。也就是说,如果让 getCount() 返回 1

Android ListView使用BaseAdapter与ListView的优化

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-10 02:51:47
在 ListView 的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作。也就是说,这个 ListView 不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点。读者可以试试用 SimpleAdapter 添加一个按钮到 ListView 的条目中,会发现可以添加,但是却无法获得焦点,点击操作被 ListView 的 Item 所覆盖。这时候最方便的方法就是使用灵活的适配器 BaseAdapter 了。 ▲ 图 4-35 BaseAdapter 中的方法 使用 BaseAdapter 必须写一个类继承它,同时 BaseAdapter 是一个抽象类,继承它必须实现它的方法。 BaseAdapter 的灵活性就在于它要重写很多方法,看一下有哪些方法,如图 4-35 所示为继承自 BaseAdapter 的 SpeechListAdapter 所实现的方法,其中最重要的即为 getView() 方法。这些方法都有什么作用呢?我们通过分析 ListView 的原理来为读者解答。 当系统开始绘制 ListView 的时候,首先调用 getCount() 方法。得到它的返回值,即 ListView 的长度。然后系统调用 getView() 方法,根据这个长度逐一绘制 ListView 的每一行。也就是说,如果让 getCount() 返回 1

Android ListView使用BaseAdapter与ListView的优化

和自甴很熟 提交于 2020-02-10 02:46:49
编辑器加载中...在ListView的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作。也就是说,这个ListView不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点。读者可以试试用SimpleAdapter添加一个按钮到ListView的条目中,会发现可以添加,但是却无法获得焦点,点击操作被ListView的Item所覆盖。这时候最方便的方法就是使用灵活的适配器BaseAdapter了。 ▲图4-35 BaseAdapter中的方法 使用BaseAdapter必须写一个类继承它,同时BaseAdapter是一个抽象类,继承它必须实现它的方法。BaseAdapter的灵活性就在于它要重写很多方法,看一下有哪些方法,如图4-35所示为继承自BaseAdapter的SpeechListAdapter所实现的方法,其中最重要的即为getView()方法。这些方法都有什么作用呢?我们通过分析ListView的原理来为读者解答。 当系统开始绘制ListView的时候,首先调用getCount()方法。得到它的返回值,即ListView的长度。然后系统调用getView()方法,根据这个长度逐一绘制ListView的每一行。也就是说,如果让getCount()返回1,那么只显示一行。而getItem()和getItemId(

Android ListView使用BaseAdapter与ListView的优化

跟風遠走 提交于 2020-02-10 02:15:11
在ListView的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作。也就是说,这个ListView不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点。读者可以试试用SimpleAdapter添加一个按钮到ListView的条目中,会发现可以添加,但是却无法获得焦点,点击操作被ListView的Item所覆盖。这时候最方便的方法就是使用灵活的适配器BaseAdapter了。 ▲图4-35 BaseAdapter中的方法 使用BaseAdapter必须写一个类继承它,同时BaseAdapter是一个抽象类,继承它必须实现它的方法。BaseAdapter的灵活性就在于它要重写很多方法,看一下有哪些方法,如图4-35所示为继承自BaseAdapter的SpeechListAdapter所实现的方法,其中最重要的即为getView()方法。这些方法都有什么作用呢?我们通过分析ListView的原理来为读者解答。 当系统开始绘制ListView的时候,首先调用getCount()方法。得到它的返回值,即ListView的长度。然后系统调用getView()方法,根据这个长度逐一绘制ListView的每一行。也就是说,如果让getCount()返回1,那么只显示一行。而getItem()和getItemId(

Android Adapter 与 Listview

余生颓废 提交于 2020-02-10 01:58:15
一、Adapter,BaseAdapter BaseAdapter应用程序中经常用到的基础数据适配器,它的主要用途是将一组数据传到像ListView、Spinner、Gallery及GridView等UI显示组件,它是继承自接口类Adapter,Adapter有如下结构: Public Methods abstract int getCount () How many items are in the data set represented by this Adapter. abstract Object getItem (int position) Get the data item associated with the specified position in the data set. abstract long getItemId (int position) Get the row id associated with the specified position in the list. abstract int getItemViewType (int position) Get the type of View that will be created by getView(int, View, ViewGroup) for the specified