android ArrayAdapter 如何动态更改数据
使用adpater与listview捆绑后,有时希望在程序使用过程中能动态的更改listview中显示的数据,如何处理?
一、关键代码段
代码如下 | 复制代码 |
private ListView mListView; private Button mBtnChange; private android.view.View.OnClickListener mCancelClick; private ArrayList<String> mStarNameList = new ArrayList<String>(); private String[] mAnimalNameList = new String[] {"Dog","Cat","Snake","Duck","Bird"}; private String[] mStarNameList1 = new String[] {"Kobe","James","Durant","Wade","Love"}; private ArrayAdapter<String> mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.setCtrlsEventHandler(); this.mAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_checked,mStarNameList); this.mListView = (ListView)findViewById(R.id.listView1); this.mBtnChange = (Button)findViewById(R.id.button1); this.mBtnChange.setOnClickListener(this.mCancelClick); this.mStarNameList.add("Kobe"); this.mStarNameList.add("James"); this.mStarNameList.add("Durant"); this.mStarNameList.add("Wade"); this.mListView.setAdapter(this.mAdapter); this.mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); } private boolean mIsMutex = false; private void setCtrlsEventHandler() { this.mCancelClick = new View.OnClickListener() { @Override public void onClick(View v) { if(mIsMutex) { mBtnChange.setText("True"); mStarNameList.clear(); for(int i=0;i<mAnimalNameList.length;i++) mStarNameList.add(mAnimalNameList[i]); mAdapter.notifyDataSetChanged(); mIsMutex = false; } else { mBtnChange.setText("False"); mStarNameList.clear(); for(int i=0;i<mStarNameList1.length;i++) mStarNameList.add(mStarNameList1[i]); mAdapter.notifyDataSetChanged(); mIsMutex = true; } } }; } |
功能实现主要原理:
用ArrayList mStarNameList 给Adapter填充数据,再将listview与adapter捆绑。
当要修改数据时候,只需要对mStarNameList 进行修改,再调用Adapter.notifyDataSetChanged()就可以实现效果。
二、执行效果
android ArrayAdapter 如何动态更改数据的更多相关文章
- Android应用中动态更改主题的实现
在android应用程序中我们可能需要切换模式,如晚上切换到夜间模式便于阅读等.本文参考了网上的一些资料,并结合实例,实现了动态更改主题的效果. Android中实现theme主题可以使用在activ ...
- Android之ListView动态添加数据(SQLiteOpenHelper类添加数据)
一.SQLiteOpenHelper类: 这次我们通过sqlite来动态添加数据,接下来我们创建一个openHelper.java,在前面sqlite博客中我们已经详细的讲了SQLite的创建及使用等 ...
- Flutter学习(8)——CheckBox多选框使用及动态更改多选框数据
原文地址:Flutter学习(8)--CheckBox多选框使用及动态更改多选框数据 | Stars-One的杂货小窝 最近项目需求需要调整页面,记录一下实现过程 这次主要是要实现个评价页面,选择不同 ...
- TabTopAutoLayout【自定义顶部选项卡区域(带下划线)(动态选项卡数据且可滑动)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 自定义顶部选项卡布局LinearLayout类,实现带下划线且可滑动效果.[实际情况中建议使用RecyclerView] 备注:如果 ...
- TabTopAutoTextSizeLayout【自定义文字字号区域(动态选项卡数据且可滑动)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 自定义顶部选项卡布局LinearLayout类,实现可滑动效果.[实际情况中建议使用RecyclerView] 对<TabTo ...
- 解决Android与服务器交互大容量数据问题
对于目前的状况来说,移动终端的网络状况没有PC网络状况那么理想.在一个Android应用中,如果需要接收来自服务器的大容量数据,那么就不得不考虑客户的流量问题.本文根据笔者的一个项目实战经验出发,解决 ...
- js简单显示和隐藏div,触发超链接,动态更改button值,setInterval()简单使用,jquery easyui弹出框简单使用 .
js简单显示和隐藏div .<!DOCTYPE html> .<html> .<head> .<meta charset="UTF-8"& ...
- Android中的动态加载机制
在目前的软硬件环境下,Native App与Web App在用户体验上有着明显的优势,但在实际项目中有些会因为业务的频繁变更而频繁的升级客户端,造成较差的用户体验,而这也恰恰是Web App的优势.本 ...
- 微信小程序动态更改样式
获取列表长度(动态渲染),当长度>x时添加内联样式并绑定数据{{}},通过js动态更改{{}}
随机推荐
- Word2013对公式处理:样式、自动编号、交叉引用
因快写毕业论文,专门研究了一下Word2013对公式的处理,有一点小心得,记在这里. 文章中公式展示的预期效果是:公式居中,尾端有编号,同时在文章中可以实现引用.实现该效果有很多方法,这里就说一种,其 ...
- C++primer学习笔记(一)——Chapter 3
3.1 Namespace using Declarations 1.因为C++里有名字空间的定义,例如我们使用cin的时候必须写成std::cin,如果就用一次还是可以接受的,但是如果一直都这样,那 ...
- CDH中HDFS的WEB UI外网无法访问的问题
文章来自:http://www.cnblogs.com/hark0623/p/4177794.html 转载请注明 其实问题很简单,因为在CDH中hdfs-site.xml配置文件中WEB UI配置的 ...
- helpDB
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...
- oracle创建临时表没有权限
执行下面: grant create any table to 用户名称
- PDA手持终端集成一体打印 二次开发
PDA手持终端集成一体打印 二次开发支持 VS2008或VS2005开发工具 c#或C++开发语言 Mobile6.5,支持GSM通话,GPRS,EDGE网络;内置wifi,蓝牙,gps商场单品管理小 ...
- POJ1523 SPF(割点模板)
题目求一个无向图的所有割点,并输出删除这些割点后形成几个连通分量.用Tarjan算法: 一遍DFS,构造出一颗深度优先生成树,在原无向图中边分成了两种:树边(生成树上的边)和反祖边(非生成树上的边). ...
- BZOJ1100 : [POI2007]对称轴osi
将多边形转化为如下的环: 1到2的边,角2,2到3的边,角3,...,n-1到n的边,角n,n到1的边,角1 然后枚举对称轴,如果i是对称轴,那么[i-n,i+n]是一个回文串 用Manacher算法 ...
- BZOJ 1121 & science
1121: [POI2008]激光发射器SZK Time Limit: 10 Sec Memory Limit: 162 MB Submit: 647 Solved: 537 [Submit][Sta ...
- 【BZOJ】2038: [2009国家集训队]小Z的袜子(hose)(组合计数+概率+莫队算法+分块)
http://www.lydsy.com/JudgeOnline/problem.php?id=2038 学了下莫队,挺神的orzzzz 首先推公式的话很简单吧... 看的题解是从http://for ...