Android
dodouaj
北理工的一名普通学生
展开
-
Android-输入小数
Android:inputType=”number”只能输入数字,不能输入小数(因为有小数点)。可以通过设置android:numeric="decimal"使得能够输入小数。原创 2014-07-17 18:36:49 · 1105 阅读 · 0 评论 -
我常用的BaseHandler
在Android开发过程中,我们不免会使用Handler类用来处理多线程发来的消息。一般使用过程中,我们在Activity中定义MyHandler extends Hanlder,并重写了handleMessage方法,在多线程的地方通过sendMessage的方式发送消息,在handlerMessage里使用switch(msg.what){ case 1:break; case2:b原创 2016-07-11 14:27:38 · 4043 阅读 · 1 评论 -
我常用的BaseActivity
在Android开发过程中,我们经常常用BaseActivity,常在BaseActivity中定义全局的方法,执行适用于所有Activity的操作(统计信息,释放内存等)以及一些其他功能。 在码一个Activity的onCreate过程中,我们要init一些view,设置事件、内容、执行线程等,我们可以选择创建若干个方法,然后在onCreate方法中按照顺序调用那些方法,分别执行init原创 2016-07-11 14:53:45 · 1048 阅读 · 0 评论 -
RecyclerView has no adapter, skip layout
RecyclerView has no adapter, skip layout前段时间,在开发的时候,为了实现一个带header的列表, 使用了stickyheaders在使用过程中,一直出现列表不显示的情况,看日志输出了RecyclerView has no adapter, skip layout,翻进RecyclerView的源码中看看,发现只有在mAdapter是null的时候,才会打印出原创 2016-07-23 14:47:44 · 1009 阅读 · 0 评论 -
HtmlSpanner使用小结
HtmlSpanner是一个能够把Html源代码解析成spannablestring的开源库.基本的使用方法很简单,使用 new HtmlSpanner().fromHtml(content);// content是html源代码 注意,fromHtml方法不能够在主线程中调用.其他一些功能 1.能够获取标签属性和自定义标签属性,使用工具,HtmlCleaner,这个工具网上资原创 2016-07-23 18:14:24 · 4600 阅读 · 1 评论 -
Android LocalBroadcastManager 注册广播和直接registerReceiver的区别
为什么要使用广播? - 使用广播能够解耦合。 比如用户登录成功后,我们可能要通知好几个页面更新内容,可能有同学为了图方面,通过调用静态方法的形式,或者自己搞一套观察者模式。静态方法耦合度高,而且有时会由于初始化顺序问题导致bug出现。 - 当有新的页面需要在登录成功后做一些响应的时候,我们只需要在新页面注册广播即可,不用修改发送广播的内容。代码重用性好。 当然还有很多我没有想到的原创 2016-08-03 17:24:14 · 4866 阅读 · 0 评论 -
android.os.TransactionTooLargeException
产生原因及解决办法在stackoverflow上已经有人提过了,说的也很详细。 大致意思是,activity之前,或activty和service之前,以及通过ipc通讯等,传输的内容,比如intent,如果数据量过大就会导致出现这个异常。常见的错误使用:1,传输大文件,比如bitmap等。刚才我的程序在红米note3上出现了这个问题:选择图片->调用系统截取图片。截取后直接crush了。但,如果原创 2016-08-05 11:13:42 · 1188 阅读 · 0 评论 -
SimpleCropView 使用未能裁剪选择的部分
第三方第三方原创 2016-08-08 16:16:44 · 935 阅读 · 0 评论 -
ExpandLongTextView 设置了maxLines后在TextView末尾加上自定义的ellipsize
先看一下实现效果: 还不错吧,在TextView末尾加上了自定义的ClickableSpan,点击的话可以全部显示内容。实现思路,通过预创建StaticLayout,截取我们要显示的6行内容,循环: 判断 截取的内容 + append的内容 是否大于6行, 是:截取的内容从末尾 -1,continue 否:得到最后截取的内容如果截取了,则显示 截取的内容原创 2016-08-15 17:07:53 · 4004 阅读 · 2 评论 -
RecyclerView如何使用正确notifyItemRemoved
当我们需要remove掉一条数据(位置在position)时,想要使用RecyclerView的动态效果,就需要调用notifyItemRemoved。但是该方法不会使position及其之后位置的vitemiew重新onBindViewHolder。所以不当使用会导致下标错乱,各种坑爹的bug就来了。弥补上面的问题,你还需要调用 notifyItenRangeChanged方法,使下面的it原创 2016-03-30 17:15:23 · 13032 阅读 · 1 评论 -
SSH框架实现返回json数据,并使用android app进行访问
源码下载地址:使用方法,1.SHH是SSH框架的java wab工程,里面定义了一个action,启动apach-tomcat服务器后可在浏览器输入“localhost:8080/SSH/userjson”访问该action并得到返回的json数据{"description":"hahaha","hi":null,"jsonResult":{"users":[{"ID":"xian原创 2015-01-22 11:19:16 · 4000 阅读 · 0 评论 -
Android-ScrollView上下滑动捕捉导致内部水平滑动的控件不灵敏(解决方案)
遇到这个问题,我们首先分析一下,当我们手指水平滑动时(并不一定是真正的水平,有可能在竖直方向也有位置变化),首先是最外部的ScrollView捕捉到滑动Event,如果其中包含了竖直滑动,那么它就不再抛出该信息,导致整个ScrollView的竖直滑动,而原本我们想要水平滑动的内部控件没有滑动。为了解决这个问题,我们可以对滑动这个动作加以判断:如果滑动的水平距离大于竖直距离,那么认为它是水平滑动原创 2014-07-17 19:03:43 · 2822 阅读 · 0 评论 -
Android-再按一次返回键退出(TabHost实现方法)
普通Activity的实现方法是重写onKeyDown方法:@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubif(keyCode == KeyEvent.KEYCODE_BACK){if(System.currentTimeMill原创 2014-07-17 18:34:00 · 1012 阅读 · 1 评论 -
Android-根据软键盘的显示与隐藏改变输入框的内容
前一段实现做App时遇到这么一个需求:这个一个商品评论列表,列表下面是一个输入框(默认评论商品)。如果你点击某一条评论,那么输入框就变成评论那条评论。(评论商品 还是 评论评论,我们称之为我们评论的状态)这是一个困扰众多android开发者的问题:通过程序无法直接获取到软键盘右上角的隐藏键,那么就很难通过软键盘的显示和隐藏来判断你评论的“状态”了。那么,该怎么解决?我们发现,软键盘显示的时候,原创 2014-07-17 18:55:14 · 883 阅读 · 0 评论 -
Android通过Post请求网页(WebView)
WebView wv = (WebView)findViewById(R.id.webView_event);wv.getSettings().setJavaScriptEnabled(true);wv.requestFocus();wv.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);wv.postUrl(url, En原创 2014-07-17 19:02:14 · 2488 阅读 · 0 评论 -
Android发布版
普通情况下,我们点击run运行的android apk都是通过debug.keystore签名发布的原创 2014-10-27 12:34:46 · 386 阅读 · 0 评论 -
cocos2d到android上的移植注意事项
首先你要配置原创 2014-10-27 15:51:31 · 582 阅读 · 0 评论 -
Android (小纸条便签问题记录)使用layout方法导致被父View遮挡问题
由于在下拉滑动及自动滑动时使用layout方法进行动画实现,导致父view遮挡子view,致使子view显示不完全。问题描述。rootviewscrollviewframelayoutlinearlayout1linearlayout2调用linearlayout2的layout方法,下拉后显示出ll1,但是底部被父view遮挡。解决方法,1.设置外三层原创 2015-08-18 20:40:16 · 854 阅读 · 0 评论 -
PopupWindow$PopupViewContainer.dispatchKeyEvent
如果给popupwindow设置了focus(true),并监听了一些交互处理,就有可能造成空指针异常。原因是3.0以下版本的系统原因(高版本不会出现)。退出popup所在的activity后,如果它的引用没被销毁,系统依然会给它分发交互事件,但是由于它的内容已经不可见,对象已经回收,所以会造成空指针异常。解决方法:创建PopupWindow 的时候不调用 setFocus原创 2015-09-10 10:07:12 · 1149 阅读 · 0 评论 -
AlertDialog 攻略 自定义宽度,改变灰色背景透明度
在android项目中经常会遇到这样的需求,从底部弹出些选项之类的。实现起来有很多种方法,比如:popupwindow,或者干脆定义一个透明灰色背景的view充当cover,然后通过设置要显示内容的visibility属性及辅助动画来达到这样的效果。 但是,灰色的背景总是不能覆盖状态栏。而使用Dialog会达到全屏灰色背景的沉浸体验效果。但是,Dialog使用时宽度一般不是充满屏幕宽度的,我们接下来原创 2016-08-10 17:15:00 · 5177 阅读 · 0 评论