佣兵笔记
来源:互联网 发布:淘宝日立3t硬盘翻新 编辑:程序博客网 时间:2024/06/09 21:08
ListView的动态刷新
2015年11月24号,又是一次石家庄下雪天,这也是我在石家庄待的第四个年头。上次下大雪的时候还是三年前(我大一),多么的无忧无虑,现在的境地是已在一个公司实习快一个月了。搞的是android开发,说实话我在实习之前只有学习了差不多一个月的android,而且一个月里面还有半个月在看java语法,可以想象在公司里实习有多么困难了吧。。。公司给的第一个任务(也是目前唯一的一个任务)就是让我写一个P2P(完全体就是People to people,通俗讲就是人对人)的UDP传输工具包括聊天跟传输文件,真是是困难重重啊,几乎就是学一点做一点做到现在都没有完成,可以说一个月之前我唯一知道的关于android语法的就是按钮的监听器,按下就发生一个事件挺好玩的,比单片机的按钮好用0.0。关于我的这个项目以后再慢慢写,现在先说说今天遇到的一个难题吧:ListView的动态刷新今天可算是纠结死我了,倒不是百度上没有,而是太它妹子的多了,而且大部分都是一样,集合满天飞,不知道作为一个java没看全的新手看你们的代码有多么多么的费劲吗,而且几乎没看到几个写注释的,擦。。。我的目的就是要用一个ListView来显示在同一个局域网里的IP(还是那个操蛋的基于UDP的P2P传输)当然局域网里的IP不是固定的,可能你下去了,我又上来了,肯定得动态刷着了。
直接来代码:
/*************************************************/ /* 定义区 */ /*************************************************/ /* 控件的定义 */ Button bn_change; //定义一个按钮,用来选择刷新 ListView listPartner; //listview在此 /* ListView有关定义 */ ArrayAdapter<String> Adapter; ArrayList<String> arrlist = new ArrayList<String>(); /* 数据区定义 */ /* 定义一个数组用作为ListView item的内容缓冲区 */ String[] Client_IP = new String[]{"202.206.64.41", "192.168.1.102","192.168.1.100"}; /**************************************************** 系统初始化 1、对各个控件初始化 ****************************************************/ class Init{ Init(){ /* 改变按钮的初始化 */ bn_change = (Button)findViewById(R.id.button2); bn_change.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { /* 单击改变listview显示的内容 */ ChangeIP(); } }); /* 对LIstView的初始化 */ listPartner = (ListView)findViewById(R.id.listView); arrlist .add("123"); arrlist .add("234"); //随便向arr里赋值,到时候进入界面listview显示就是此时的赋值,也可以不写 /* 对list各项设置单击事件监听器,切记是单击事件,还是选择 这两个监听器是不一样滴(下午在这儿都让我纠结半天) */ listPartner.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } }); } /* 写一个方法用来改变listview里item各项 */ public void ChangeIP(){ arrlist .clear(); //首先将显示的清除 for(int i = 0;i < Client_IP.length;i++){ arrlist .add(Client_IP[i]); //要改变的值 Adapter.notifyDataSetChanged(); //之后想要实现改变刷新IP的功能,只需有一个方法来改变Client_IP数组里的值,之后调用此方法即可 } }@Overrideproteceted void onCreat(Bundle savedInstanceState){ super.onCreate(saveInstanceStace); setContentView(R.layout.activity_main_activity_server);/* 初始化各个控件 */new Init();/* 对listview的处理 */ Adapter = new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,arrlist); listPartner.setAdapter(Adapter);} }
瞬间轻松了很多莫有,实际上对与上述方法的动态刷新实际上只有三步(当然对listview的初始化赞不包括其中):1、 ArrayList<String> arrlist 这个数组是与listview的显示绑定的,对这个数组的操作也就是对listview显示内容的操作。同时刷新前首先要对这个数组clear2、clear完之后就应该对其赋值,用add方法3、赋值完之后就通知UI刷新listview就可以了用notifyDataSetChanged();,切记这步,如果不对listview刷新,那就呵呵了0.0 当然此处还是有很多需要学习的地儿,比如对于listview还是有很多学习,同时java语法也得看啊,最齐码集合该看看了,妹子的真费劲,还有Adapter也得查查是啥意思,要不总感觉实现了功能也是晕晕呼呼的
0 0
- 佣兵笔记
- 佣兵
- 佣兵天下最新章节
- 全民突击佣兵怎么装备枪械 坐等佣兵超神
- 佣兵推脱御用入蕴
- 论美貌 (殖装 第二卷 宇宙佣兵 第八三四节 )
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- PHP数据文件过大,导致PHP加速器eaccelerator在PHP5.2版本下崩溃
- 2015 CCPC Huatuo's Medicine
- v3 一键新机 安装方法
- java 基础 07
- 习近平:发展当代中国马克思主义政治经济学
- 佣兵笔记
- js正则表达式 .+?为什么要连用
- 爬爬爬之路:UI(十) UITableView(二) UITableView编辑 UITableViewCell移动
- ContentProvider
- nyoj--77--开灯问题
- 蓝懿ios 技术内容交流和学习心得 11.24
- Activity通过接口向fragment传数据
- AsyncTask解析
- Tomcat