摘要: 链表的游标实现不太好懂,但是我们可以将其看成两个链表,详解如下:假设我们有一个大小为10的数组用来存储数据在运行程序后,链表如下图所示,每一个蓝色方格表示一个节点,里面是“存储元素(角标)”,最后一个节点指向第一个节点0,初始化的节点中元素全为null,这是由代码中最底部static包裹的代码块完成的初始化链表对象后(CursorList list = new CursorList()),链表如下图所示,绿色虚线为原来的链,红色实线为现在的链,可以看出来,通过alloc()从节点中取出了一个节点(1)作为header(alloc()方法就是取出0之后的第一个节点),其实header存储的数据还 阅读全文
posted @ 2014-03-16 14:04 bigfat 阅读(1651) 评论(0) 推荐(0) 编辑
摘要: 桶式排序概念有限个数字m,每个数字的大小都在1与n之间,则我们可以假设有n个桶,遍历m个数字,将其存入对应的桶中(如数字的值为3,就存入3号桶,桶的值对应存入数字的个数)例子有数字3,3,5,1,2,大小均在0-5之间,所以我们假设有5个桶,分别标号1,2,3,4,5,遍历所有数字,将其存入桶中,则存储之后,所有桶的计数如下:桶号12345计数11201我们按照桶的序号将数字倒出来,如下:桶的倒出顺序数字队列5号桶倒出1个554号桶倒出0个453号桶倒出2个35,3,32号桶倒出1个25,3,3,21号桶倒出1个15,3,3,2,1如上所示,我们成功将所给数列按照从大到小的排序,反之,如果从1 阅读全文
posted @ 2014-03-12 19:02 bigfat 阅读(1049) 评论(0) 推荐(0) 编辑
摘要: 这段时间使用SherlockActionBar,分享一下经验1、Activity要变成SherlockActivity,ListActivity要变成SherlockListActivity,等等等等,总而言之,在前面加个Sherlock2、onCreateOptionsMenu和onOptionsItemSelected要用Sherlock独有的,特别是MenuItem,比如:@Overridepublic boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { switch (item.get... 阅读全文
posted @ 2013-10-14 20:04 bigfat 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 注:这个一个官方API文档的错误因为SparseBooleanArray.clone()这个方法是在android4.x.x上添加的,所以在2.x.x上调用会报错,因此用此方法代替clone()private SparseBooleanArray cloneCheckStates(SparseBooleanArray mCheckStates) { if (mCheckStates == null) { return null; } SparseBooleanArray checkedStates = null; if (Build.VERSI... 阅读全文
posted @ 2013-10-14 19:53 bigfat 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 平常用下面这行代码来覆盖系统默认的activity切换动画overridePendingTransition(R.anim.anim_in, R.anim.anim_out);但是发现在activity.finish()的时候还是系统默认的动画,那么覆盖activity.finish()的动画可以用如下方法监听返回键事件,在finish()之后再覆盖动画即可@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.g 阅读全文
posted @ 2013-10-07 11:57 bigfat 阅读(1504) 评论(0) 推荐(0) 编辑
摘要: 研究了几天,也只是有了自己的想法首先,安装新版本的app,那么android系统就会关闭你正在运行的老版本的app,于是就强行的切回到了主屏上解决的办法很简单,在启动Intent安装apk之后加上关闭app的代码即可startActivity(intent);System.exit(0);finish(); 阅读全文
posted @ 2013-10-06 21:42 bigfat 阅读(301) 评论(0) 推荐(0) 编辑
摘要: switch/case只能判断int类型的变量,就从这点入手,代码还是比较清楚的,两种方法均来自StackOverflow 方法一:@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ImageView img1 = (ImageView)findViewById(R.id.img1); ImageView img2 = (ImageView)findViewById(R.id.img2); img1.se... 阅读全文
posted @ 2013-10-03 22:44 bigfat 阅读(1595) 评论(0) 推荐(0) 编辑
摘要: ①在代码中实现去掉标题栏:requestWindowFeature(Window.FEATURE_NO_TITLE);去掉状态栏:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);注:这两行代码需要写在setContentView()之前②在AndroidManifest.xml中实现去掉标题栏:android:theme="@android:style/Theme.NoTitleBar"去掉标题栏和状态栏: 阅读全文
posted @ 2013-10-03 18:43 bigfat 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 其实真正烦人的就是一到页面就弹出来一个输入法,输入法之所以会弹出是因为EditText获取了焦点,而让EditText获取焦点是android默认的,哪怕你没设置它获取焦点 一个解决的方法就是让别的控件获取焦点,这样EditText就不会自动获取焦点了 一般可以在最底层的Layout中添加下面两行代码,让最底层Layout获取焦点: android:focusable="true"android:focusableInTouchMode="true" 注:1、这个方法只能解决在进入一个界面时EditText自动获取焦点的问题 2、感谢Dream boy同 阅读全文
posted @ 2013-10-03 18:40 bigfat 阅读(3293) 评论(3) 推荐(1) 编辑