- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 获取泛型实际类型
public class TUtil { public static <T> T getT(Object o, int i) { try { return ((Class<T>) ((ParameterizedType) (o.getClass() .getGenericSupercl...
2018-07-05 14:20:56
528
原创 tablayout设置标题不显示问题
tablayout.setupWithViewPager(viewPage);此方法会导致清楚tablayout的标题,不显示
2018-06-25 11:02:39
1509
原创 建造者模式(Builder 模式)
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示public Person(String name) { this.name = name; } public Person(String name, int age) { this.name = name; this.age = age; } ...
2018-05-08 18:33:15
165
原创 自定义波浪线,待改进
基本思路:贝塞尔三阶曲线public class WaveView extends View { private float mCenterX; private float mCenterY; private float startX; private float startY; private float endX; private floa...
2018-04-17 14:00:46
191
原创 fatal: Not a git repository (or any of the parent directories): .git
在Android Studio导入公司项目的时候出现的问题 这是个git管理的项目,在管理项目的准备工作里:ssh-keygen -t rsa -C name@email.com1.先生成本地公钥,然后打开公钥文件复制内容,如果有直接打开公钥文件git config --global user.name "name"git config --global user.email "e...
2018-03-16 16:00:39
569
原创 BLE 开发总结
1 在所有蓝牙的回调中不要操作UI。private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() { @Override public void onConnectionStateChange(BluetoothGatt gatt, int status, in...
2018-03-11 22:16:26
185
转载 Android 获取 View 宽高的常用正确方式,避免为零
https://juejin.im/post/58e4397a44d904006d275eeb?utm_source=gold_browser_extension
2017-04-05 14:25:55
452
转载 手摸手教你封装个selector控件!
前段时间项目里要写好几个按下去状态变化的button, 于是在drawable文件夹里写了一堆文件, 想想好烦啊, 也是浪费时间,搞了一堆文件,还要起名,真心烦!一气之下, 一劳永逸, 写一个控件,各种属性代码xml配置或者代码设置。因此也就有了StateButton。其实实现并不难,只是比较烦,一堆属性。 有兴趣的看看。
2016-11-16 11:40:56
500
原创 listview内的edittext调出来键盘后,edittext失去焦点问题
意图:在包含edittext的listview内,点击edittext获取焦点并弹出软键盘结果:弹出软键盘,但是紧跟着edittext也失去了焦点。原因:在弹出和收起软键盘的时候会导致listview的重绘,继而导致edittext失去了焦点解决思路:重新给listview内的edittext获取焦点 requestFocus1.在getview之前给点击的edittext设置一个标识位 priv
2016-11-04 11:38:56
2836
原创 gridview的Item充满父类
在gridview的item里设置高度或者match_parent,wrap_content都是没有效果的 那么只能针对adapter下手了//指定item充满父类 AbsListView.LayoutParams param = new AbsListView.LayoutParams( ViewGroup.LayoutParams.MATCH_P
2016-10-12 11:57:22
767
原创 RecyclerView的item点击事件和长按事件
RecyclerView 是Android L版本中新添加的一个用来取代ListView的SDK,灵活性很强,可以实现listview,gridview,瀑布流的效果,但是没有专门封装的item点击事件和长按事件,个人一般在适配器里写回调实现这俩方法首先要,先引入包来支持控件compile 'com.android.support:recyclerview-v7:22.2.1'然后要在适配器里写好回
2016-09-06 17:53:49
6774
原创 RecycleView的单击和长按,滑动事件
转自:Stack Overflow忘了那篇内容(抱歉)public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { public interface OnItemClickListener { void onItemClick(View view, int positi
2016-09-05 16:58:43
1392
原创 RecycleView 底部按钮实现
有一种列表,整个页面只有一个列表和底部的一个按钮,如下图:private View mFooterView;//添加footer mFooterView = LayoutInflater.from(this).inflate(R.layout.view_footer, rv_membercard, false); Button button = (Button) mFooterVie
2016-09-05 14:08:02
2486
原创 listview 的复用问题
在不考虑局部刷新的情况下:::::::每次listview在适配器里填充完数据后,当改变其中一个item的数据, 并上下滑动的时候会因为listview的复用问题导致这个或者其他的item的数据又变了回来, 这个可以用个hashmap来解决首先在适配器里添加个hashmap private Context context; private ArrayList<MemberPacka
2016-08-10 22:23:48
609
原创 listview 加载或者刷新的时候报数组越界异常
listview是常见的Android列表控件,为了看起来美观,无论是个人还是第三方都会给listview加个刷新头和加载的footer,但是有时候加的位置不正确会导致数组越界异常,常见的原因,可能是在添加适配器之前给listview设置的刷新头导致数组越界,把listview的添加header或者footer的时候要在适配器添加完成后添加 eg: 原来是这样(注掉部分为后期注掉的,原本是么有注
2016-06-12 18:04:18
3156
原创 listview的局部刷新
listview的局部刷新,就是刷新其中某一条数据,如果只有一条数据变化的时候还执行notifyDataSetChanged方法,肯定会造成很大的性能开销简单粗暴的说方法private void updateView(int position) { //得到第一个可显示控件的位置, int visiblePosition = lv_product_list.getFi
2016-05-24 16:05:22
466
原创 FlexBoxLayout控件做流布局
最近看到谷歌新出FlexBoxLayout,FlexBoxLayout是什么? 就是类似于 bootstrap 中的Grid栅格系统但又不相同的强大控件,接近于前端开发中弹性布局,是可以自动伸缩的弹性控件 那么根据它的特性我们可以使用它实现流布局,什么是流布局不用多做解释了 实现方法:compile 'com.google.android:flexbox:0.1.2'然后再布局文件里,把它的路
2016-05-16 16:20:59
1470
转载 radiobutton+viewpager+Fragment切换过程取消预加载(延迟加载)
转自:http://www.2cto.com/kf/201501/368954.html在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragment有个不好或者太好的地方。例如你在ViewPager中添加了三个Fragment,当加载ViewPager中第一个Fragment时,它会默认帮你预先加载了第二个Fragment,当你加载第二个Fragm
2016-05-12 17:34:03
616
原创 Android悬浮窗的实现
方法有好几种,第一中比较简单,就是在XML里把位置写死<RelativeLayout android:layout_width="@dimen/img_home_float_parent_size" android:layout_height="@dimen/img_home_float_parent_size" android
2016-03-11 16:30:36
791
原创 Activity向Fragment里通过handler传消息
Activity部分:public Handler mHandler;******************************Message msg=new Message();msg.obj=et_agricul_search.getText().toString();// 传输的内容msg.what=1;mHandler.sendMessage(msg);fragment部分:publ
2016-03-11 15:50:11
2032
原创 Dialog简单范例
dialog很常用,所以记下来一个比较好用,容易理解的小例子作为笔记LayoutInflater factory = LayoutInflater .from(PurchaseDetailsActivity.this);// 提示框 final View view = factory.inflate(R.layout.dialog_pu
2016-03-08 09:44:43
493
转载 ViewGroup的事件分发机制
转自:http://blog.csdn.net/spt110/article/details/7919870 作为笔记,加深理解android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_M
2016-03-04 18:27:12
302
原创 判断listview是否滑到底部
最近做一个listview刷新数据的时候,到最后一行要提示“没有数据了”但是总是最后一个Item刚露出来的时候就弹出来这个提示,并不是在最后一个Item完全露出来后才提示,网上查到这样一个办法,作为笔记先记下来/** * 判断listview的最后一个item是否完全露出来 * @return */ protected boolean isLastItemVis
2016-03-03 16:50:01
690
原创 关于gridview的item内文字过长换行后显示不完全问题
最近在做一个项目,当中用到gridview,这个gridview的item是有上面是图片,下面是文字,当文字过长的时候会导致文字显示不全不全的效果是第二行字只能看到一部分,或者一部分都看不到。我不想自定义一个gridview去重新算高度,(自定义当然是一个很好的解决方法),于是我就绞尽脑汁想到的一个方法那就是在适配器填充的时候给它加一个回车符号holder.tv_item_purchase_head
2016-02-23 11:14:04
4205
2
原创 Android 的多账号登陆
最近因为工作上的原因做了一个多账号登陆,很简单的东西做的并不是很好,所以就需要把这个东西重新捋一下,重新学习一下。 具体就是跟QQ的的多账号登陆差不多,我的基本思路其实就是用sharedpreference,当然数据库是肯定可以的。直接说思路,因为是多个账号,肯定需要一个数组或者集合来盛放,而且因为是要保存账号和集合两个东西,就需要mapprivate SharedPreferences sPre
2016-01-13 20:12:09
1023
1
原创 fragment切换 hide和show之后重新刷新数据的方法
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-12-29 11:02:20
11928
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人