Android中自定义ListView

Author : lovecicy

在使用Android的ListView的时候,Android系统自带了一些简单的布局,但是如果要做出比较复杂的显示列表——像新浪微博的微博列表,就需要对列表的显示进行自定义。 在自定义时,大致需要一下步骤: 一、在res/layout/文件下新建一个布局文件 假设新建一个文件名叫做custom_list_view.xml,此文件用于显示单个列表项,相当于显示一条微博,包含的内容有头像、微博内容、图片、转发数、评论数等。这个布局文件和Activity的布局文件并没有什么不同。 <LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android” xmlns:tools=”http://schemas.android.com/tools” android:layout_width=”match_parent” android:layout_height=”wrap_content” android:orientation=”vertical” android:descendantFocusability=”b[Read More]

standard

Android menu笔记

Author : lovecicy

Android系统提供了3中基本的菜单,分别是option menu/action bar,上下文相关菜单和弹出菜单。 第一种菜单是菜单项的基本集合,你应该将对应用有全局影响的动作放在这里,比如“搜索”,“写邮件”,“设置”等等。 option menu/action bar的显示位置取决于系统的版本,如果是2.3及以下版本,菜单将显示在屏幕下方,菜单最多显示6个菜单项,如果多于6个,则第六个及以后的菜单项将被隐藏在溢出菜单中,第六个菜单项将变成“更多”按钮,点击呼出溢出菜单;如果系统版本为3.0及以上,菜单将显示在屏幕顶部的action bar中。 创建方法: 1、复写Activity的onCreateOptionsMenu(Menu menu)方法创建菜单,在此方法中使用MenuInflater类的inflate()方法填充菜单。 2、复写Activity的onOptionsItemSelected(MenuItem item)方法处理菜单项选择事件,通过item参数判断哪个菜单项被点击了。 如果你的Activity中包含Fragment,则Activity的回调函数先被调用,如果[Read More]

standard

10步让你成为更优秀的程序员

Author : lovecicy

这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的10件事情。 1. 永远不要复制代码 不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事 在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是bug,它还会使你的代码体积变得臃肿。现代的编程语 言提供了很好的方法来解决这些问题,例如,下面这个问题在以前很难解决,而如今使用lambdas却很好实现: /// <summary> /// 一些函数含有部分重复代码 /// </summary> void OriginalA() { DoThingsA(); // unique code DoThingsB(); } /// <summary> /// 另外一个含有部分重复代码的函数 /// </summary> void OriginalB() { DoThingsA(); // 没有重复的代码 DoThingsB(); } 现在[Read More]

standard

String的replaceAll方法小记

Author : lovecicy

今天用到了String的replaceAll()方法,传递了两个参数,结果抛出异常了。 我的代码是: someString.replaceAll(“+”,” “); 就是把字符串中的所有“+”替换成空格,但是因为第一个参数传的不对,结果抛出了java.util.regex.PatternSyntaxException: Dangling meta character ‘+’ near index 0 的异常。 api中关于String对象的replaceAll()方法的定义为: public String replaceAll(String regex,String replacement) Parameters: regex – the regular expression to which this string is to be matched 也就是说,第一个参数为正则表达式,而我在代码中传递的第一个参数“+”因为在正则表达式中有特殊含义,所以需要将其转义。只要将第一个参数修改为“\\+”进行转[Read More]

standard

xpath路径表达式笔记

Author : lovecicy

今天配到了解析xml的问题,希望除了dom4j的Element类的elementIterator()方法一层层遍历外,有方法可以通过选择器直接选取xml节点,就像css的选择器一样。后来发现可以通过xpath查找xml节点。 参考了阮一峰的xpath笔记,方便自己学习和以后查阅。 所谓节点(node),就是XML文件的最小构成单位,一共分成7种。 – element(元素节点) – attribute(属性节点) – text (文本节点) – namespace (名称空间节点) – processing-instruction (处理命令节点) – comment (注释节点) – root (根节点) 一、xpath的基本格式 xpath的写法与传统的文件系统的路径非常像。 # 斜杠(/)作为路径内部的分割符。 # 同一个节点有绝对路径和相对路径两种写法。 # 绝对路径(absolute path)必须用“/”起首,后面紧跟根节点,比如/step/step/…。 # 相对路径(rela[Read More]

standard

dom4j解析xml

Author : lovecicy

要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/ 目前最新dom4j包下载地址:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip 解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要加入包jaxen-1.1-beta-7.jar. 以下是相关操作: 一.Document对象相关 1.读取XML文件,获得document对象. SAXReader reader = new SAXReader(); Document  document = reader.read(new File(“input.xml”)); 2.解析XML形式的文本,得到document对象. String text = “<members></members>”; Document document = DocumentHelper[Read More]

standard

Swing第三刀

Author : lovecicy

转自:http://joshuaxiao.iteye.com/blog/707514?page=2 作者:民工甲 在《Swing第一刀》和《Swing第二刀》中提到了一个我正在折腾的一个ERP界面小框架,不少童鞋表示灰常感兴趣,这里继续和大家分享一个新的小进展:一个全新的登录界面。也许可以改变一些你对Swing和UI设计的看法。 为啥又是登录界面 登录界面是一个软件系统中最简单的一个界面,也是最重要的一个界面。为什么?因为它是用户看到的第一个界面;因为它是用户每天都要看的界面。要想让用户爱上你的软件,一个美观、耐看、友好的登录界面是一个重要的前提。下功夫做一个好的登录界面,你的系统就成功了一半。这就是为什么很多美工初学者总是喜欢从模仿、创作登录界面开始。 不信咱仔细瞅瞅。瞧,这是你做的登录界面: 抓图来自网络,版权归作者所有 瞧,这是我的登录界面(来自本文案例): 美工设计效果图 程序实际运行图 哪个更讨人喜欢?你是凤姐,我是志玲姐;你是芙蓉姐姐,我是Lady Gaga姐,不大好比哦。嗯,正如你所说,是“各有所长”吧!不过,除非你有严重的自虐倾向,否则你的选择应当跟我一样。 估计有人已[Read More]

standard