开发技巧
风吹过wu
这个作者很懒,什么都没留下…
展开
-
ListView中的每个Item嵌套使用ToggleButton
当listView中的数据很多的时候,我们往往就会滑动,滑动的过程中就存在着customView的复用。当复用的时候就会存在重新给ToggleButton设置初始值。如果你是监听了ToggleButton的状态,并且有进行操作,那就会在滑动列表的时候,也会触发监听。如何解决这个问题呢。直接看代码:mToogleButton.setOnCheckedChangeListener(null);mToo原创 2016-07-07 19:27:33 · 1494 阅读 · 4 评论 -
Android 判断设备是手机还是平板
最近一个新需求,在手机端不支持横屏,平板支持横屏。拆分一下需求。需要判断是否是平板不是平板则设置为只支持竖屏判断是否是平板 /** * 判断当前设备是手机还是平板,代码来自 Google I/O App for Android * * @param context * @return 平板返回 True,手机返回 False */pu...原创 2018-12-24 14:21:10 · 4106 阅读 · 0 评论 -
map 转化表单字符串
今天遇到一个需求,需要传递表单数据到服务器,查了一下没有直接的表单类,就自己动手写了一个转化表单字符串的方法,废话不多说,上代码,反正也简单的很。/** * hashMap 转化成表单字符串 * @param map * @return */ public static String map2Form(HashMap<String, String> m原创 2017-02-27 17:56:25 · 2507 阅读 · 0 评论 -
TextWacher 监听EditText中的文本变化
我们有时候会根据EditText中输入的文字长度自动做一些操作,比如超过了20个字符,就提示不能输了,或者EditText中为文本为空的时候,不能点击保存按钮之类的。这个时候就需要我们的TextWatcher出场了。下面我还是以代码的方式讲解。相信大家都能看懂的。EditText editText = (EditText) findViewById(R.id.edit); edit原创 2016-10-19 23:25:20 · 723 阅读 · 0 评论 -
互斥的ExpandableListView
ExpandableListView是常用的二级列表,往往需求都会这样设计当点开了一个group,就需要将上一个打开的关闭掉。形成互斥的效果。看了一下api. 发现了一个collapseGroup(int i)的方法,可以关闭group。试了几次没有效果,后来才发现,该方法只能在setOnGroupExpandListener方法中起作用,我表示很尴尬,废话就到这里了,马上给各位看官上代码。priv原创 2016-10-19 22:50:34 · 292 阅读 · 0 评论 -
Android 连接指定的wifi
今天来点干货,讲讲如何通过代码连接上指定的wifi。相当于使用代码完成使用者在手机WLAN中选择wifi,并且输入密码,然后点击确定的过程。既然要操纵wifi,就需要使用到wifiManager,我们连接过的wifi的名称和密码都可以通过WifiManger来拿到,每个信息都是封装到一个ScanResult的类中,然后放到列表中的。 WifiManager mWifiManager = (W原创 2016-11-04 20:00:33 · 8221 阅读 · 5 评论 -
Android 打开本地第三方应用,如QQ,微博,微信等。
在Android开发过程中,有时候会有需求去打开本地的应用,做点小猫腻,比如常见的就是关注微信公众号什么的。好好的在自己APP上不玩,非要跳转到别的APP,我还能说什么,只有画圈圈。看官不要跑,快来围观代码。ComponentName componet = new ComponentName(pkg, cls); //pkg 就是第三方应用的包名原创 2016-10-27 22:45:29 · 7982 阅读 · 5 评论 -
解决输入框光标不显示
这个不是光标不显示,其实是显示了的,只是光标为白色,背景也为白色,这样就看不出来。解决问题很简单。一行代码。android:textCursorDrawable=”@null”这样光标就和字体的颜色一致了。当然你也可以自己设置光标颜色,这个百度一大堆。原创 2016-08-11 12:23:51 · 14669 阅读 · 1 评论 -
listView中添加了headerView时,使用position的注意事项
该listView是添加了headerView的,注意,在Adapter中的getVIew方法中的position是不包括headerView的,也就是position = 0,就是指的其中第一个item. 但是在在监听方法中,比如onItemClicklistener中的position确实包含了headerview,也就是position = 0 ,其实是指的headerView。原创 2016-08-31 16:39:11 · 2653 阅读 · 1 评论 -
Android 中protobuf 的安装,编译和使用
前端时间使用到了protobuf来与后台交互,网上的介绍也不是很全面,现在特地记录一下。希望对大家都有帮助。 官网地址1、如何写一个.proto的文件这个你可以看上面的官网,里面这个介绍的还是可以。当然如果你牛掰,直接让后台给你写好。那也没有问题,我这里就只粘一个简单的proto文件。message Person { required string name = 1; required i原创 2016-07-08 11:30:47 · 1319 阅读 · 0 评论 -
ParseResult Exception:java.lang.IllegalStateException: Cannot add header view to list -- setAdapter
出现这个问题往往是你在给listView. setAdapter()之后,又开始addHeaderView导致的。解决这个问题很简单,需要你交换一下顺序就可以了。就是你先addHeaderView,然后再setAdapter()。当然这个顺序在android4.3及其以后的版本就随意了。当然遇到要动态添加headerView,也就是addHeaderView就是在setAdapter之后。不要怕还是原创 2016-07-07 19:55:10 · 478 阅读 · 0 评论 -
setResult()设置无效 -从源码讲解
我遇到的问题是Activity A 跳转到 Activity B, 一跳转到Activity B 就立马回调了Activity A中的onActivityResult 方法。查阅资料后,原来是我的Activity B 的启动模式设置的为singleTask。由于两个activity 不是同一个栈中,所以导致一跳转,立马就回调了onActivityResult方法。...原创 2019-01-05 21:58:47 · 3844 阅读 · 4 评论