摘要: 使用了AsyncTask在后台刷新适配器,并且通知ui线程更新ListView,运行时发现时不时的出现 如题 的错误,导致程序崩溃,解决方法如下:1.建立一个缓冲数据集,这个数据集就是填充适配器的数据集,如ArrayList2.在AsyncTask的后台方法(doInBackground)中将数据添加至缓冲数据集中,然后调用onProgressUpdate通知更新3.在onProgressUpdate方法中,将缓冲数据集的数据添加至原数据集中,然后将缓冲数据集中的数据清空注意:访问缓冲数据集的时候,需要加上同步锁 synchronized 阅读全文
posted @ 2013-10-25 15:40 trenail 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 问题起因:在做一个从sd卡中加载数据显示在ListView中,由于数据可能比较多,考虑到用户体验,就使用AsyncTask来异步加载,数据一条一条的添加至ListView中.开始数据比较少的时候,基本上瞬间完成所有加载,没发现这个问题,后来把测试数据添加至一百来条,问题就出现了,当我的数据还在加载的时候,用手在ListView上做Touch操作的时候,程序报错,报错信息如下:java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notifica 阅读全文
posted @ 2013-10-25 09:09 trenail 阅读(399) 评论(1) 推荐(0) 编辑
摘要: 一开始在代码中我以为使用tvAge.setTextAppearance(context, resid);这样的的方式就能行,运行之后发现这个设置并未生效,于是到处搜索在代码中设置系统样式的的解决方法,在一篇国外帖子中发现了new TextView(mContext, null,android.R.attr.textAppearanceLarge);这样形式的设置代码,把它用的我的程序中,运行,ok但是这种设置方式需要在初始化控件的时候,如果我们需要在控件创建完毕之后修改它的样式,又不知道该如何做了 阅读全文
posted @ 2013-10-23 17:26 trenail 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 指针函数:返回指针类型的函数,定义方法如下:类型标识符 *函数名(参数列表)函数指针:指向函数入口地址的指针,定义方法如下:类型标识符 (*指针名称)(形参列表)下面我们通过一段代码加深我们的理解://指针函数,和函数指针#include //引入 输入输出功能 文件头//定义一个函数指针char* (*fun)(char* str,char* str_search);//实现一个字符串查找的功能void input(char *str,char *str_search){ printf("请输入字符串:"); gets(str);//获取输入字符串 printf(&quo 阅读全文
posted @ 2013-10-18 16:55 trenail 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 看这个标题都要晕了,我们不妨把他拆开来理解,比较容易指针数组:对象是一个数组,数组元素的类型是指针指针数组的定义方式:类型名 *数组名[数组长度];如:int *p[8];数组指针:对象是一个指针,指针的类型是一个数组数组指针的定义方式:类型名 (*数组名)[数组长度];如:int (*p)[8];无论是使用指针数组或是数组指针,都可以达到我们想要的效果,下面我们就来比较一下两种对象操作数组的方式:#include void main(int argc,char *argv[]){ int arr[4][4]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}... 阅读全文
posted @ 2013-10-18 11:07 trenail 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 指针是c的灵魂,这个真是不容置疑,太灵活了,太随意了,当然,如果理解了,用得好,比弱类型语言的var 用的还舒服,用的不好,那就是程序的灾难,哈哈,不多说了,访问二维或多维数组有如下几种方式,下面给出代码#include int main(){ int arr[4][4] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};//定义一个二维数组 //使用不同的方式得出每行的首地址 for(int i = 0;i<4;i++) { printf("使用 arr+i\t的方式求得arr数组第%d行的数据首地址为:%d\n",i,... 阅读全文
posted @ 2013-10-18 09:16 trenail 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 刚刚看到vs2012可以完美支持wdk开发,心中窃喜,正要下载,竟然看到xp不在其支持范围内,这让刚刚从win7换过来的我真是DT,算了,还是和学习资料保持一致,反正学习的重点不是方便正题:为了消除使用不同的c编译器或者为不同平台编译程序导致的数据格式不统一的问题,在wdk开发中,建议使用如下数据类型:通用类型wdk规范说明unsigned longULONG无符号长整形unsigned char UCHAR 无符号字符型unisgned intUINT 无符号整形voidVOID无类型unsigned long*PULONG无符号长整形指针unsigned char*PUCHAR无符号... 阅读全文
posted @ 2013-09-22 17:52 trenail 阅读(592) 评论(0) 推荐(1) 编辑
摘要: 在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。而且 .c就是你写的程序文件。C++/C程序的头文件以“.h”为后缀。以下是假设名称为graphics.h的头文件:#include //引用标准库的头文件#include"..." //引用非标准库的头文件传统 C++#include //设定插入点#i 阅读全文
posted @ 2013-09-18 16:05 trenail 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 将原先的win7换成了xp,用体验换来更好的兼容问题如下:在虚拟机器中运行了DebugView后,就一直重复出现Service Started!!!-end In Service while,虽然我们自己dbgprint的语句也能看到,但是这个一直重复出现,也的确让人恼火解决方法如下:在DebugView的菜单栏-Capture-Capture Win32,取消,上面的语句立即就不显示了而且在调试机中的Windbg中,连接上被调试机后,也是一直重复显示上面的语句,这个问题还会持续跟进 阅读全文
posted @ 2013-09-17 14:09 trenail 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 手动下载了Symbols,设置好了Symbols File Path,串口连接上了以后,出现ERROR: Symbol file could not be found,并且会一直不停的出现windbg endIng Service while Service Started这句话,但是启动服务,在这里能看到打印输出,但是断点调试窗口出不来解决方法就是在windbg中敲几行命令,步骤如下:1. 若符号存在D:\DebugSymbols,输入命令:.sympath SRV*d:\DebugSymbols*http://msdl.microsoft.com/download/symbols2 .[使 阅读全文
posted @ 2013-08-27 11:04 trenail 阅读(2571) 评论(0) 推荐(1) 编辑