1、activity界面默认不弹出软键盘方式:
两种方式:
// 1、动态设置
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)
// 2、manifest文件
android:windowSoftInputMode="stateHidden"
2、edittext默认不显示光标:
// 找到本布局文件中第一个EditText的父级控件,为其添加以下属性
android:focusable="true"
android:focusableInTouchMode="true"
3、sourecetree提交代码到github,提示remote: Invalid username or password.
打开git命令行模式,输入git push,然后根据提示输入用户名和密码
4、Fragment的显示和隐藏监听
show/hide()方法重写onHiddenChange(boolean hidden)监听显示或者隐藏
viewpager里的fragment重写setUserVisibleHint(boolean isVisibleToUser)方法才能监听到显示、隐藏
5、ViewPager 限定预加载页面个数,要在viewpager.setAdapter(mAdapter);方法前设置才能生效
6、使用android.support.v4.content.ContextCompat替换getResources()获取资源
7、延时执行:Handler.postDelayed(Runnable r, int delayMillis), 记得使用Handle.removeCallbacks(Runnable r)取消线程
8、事情分发事件:http://blog.csdn.net/xyz_lmn/article/details/12517911
9、禁用checkBox点击事件
场景举例:recyclerview中放置checkbox的时候,想禁用checkbox的点击事件
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
10、实例化异常java.lang.NoSuchMethodException ()
原因:数据库存储中报这个异常, 原因是写了一个有参构造,重载了构造函数,而存储中需要无参构造,造成了实例化异常。
解决方法:重写下无参构造。
11、NestScrollView嵌套recyclerview时,焦点recyclerview被抢页面自己滑动的问题:
// 1、首先在NestScrollView节点添加
android:focusableInTouchMode="true"
// 2、然后在NestScrollView的子节点view添加,表示viewgroup会覆盖子类控件而直接获得焦点
android:descendantFocusability="blocksDescendants"
12、android:state_enabled 无效
原因:selector标签执行有优先级,第一个属性的优先级最高,依次递减, 解决:将state_enabled属性调到最前面;
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--优先级最高-->
<item android:drawable="@drawable/pic_btn_unenable" android:state_enabled="false" />
<!--优先级第二高-->
<item android:drawable="@drawable/pic_btn_selected" android:state_checked="true" />
<!--优先级第三高-->
<item android:drawable="@drawable/pic_btn_unselected" android:state_checked="false" />
<item android:drawable="@drawable/pic_btn_unselected" />
</selector>
这里写代码片
13、空格占位符
在android布局中常常使用空格来实现文字对齐。
13.1、具体使用:
1. 一个中文的空格:    
2. 半个中文的空格: 
3. 半个英文的空格: 
4. 一个英文的空格: 
5. 四分之一中文空格: 
注意:实际开发中可以任意搭配完成我们的需求。
13.2、TextView实现首行缩进
- 半角:\u0020
- 全角:\u3000
java代码中,setText(“\u3000\u3000”+xxxxx);
string资源文件中,加入”\u3000\u3000”即可实现首行缩进。
14、Gson不知道的那些事
15、除法计算结果是小数
int i=4;
double num=3/(double)i; 输入结果就是0.75了
16、动态注册广播时内存泄漏
建议在onResume()方法里注册广播,onPause()方法里取消注册。
使用getApplicationContext()进行注册和取消注册。
registerReceiver(receiver, filter);
getApplicationContext().unregisterReceiver(receiver);
17、动态给TextView设置颜色选择器
textView.setTextColor(ContextCompat.getColorStateList(mContext,R.color.statistics_month_textcolor));
18、只保留一位小数,不四舍五入
DecimalFormat 介绍
double a= 6.66667;
DecimalFormat format = new DecimalFormat("0.0");
format.setRoundingMode(RoundingMode.FLOOR); // 向负无限大方向舍入的舍入模式。
String b = format.format(a);
19、jsonobject 判断是否有相关字段
JSONObject obj = new JSONObject(payloadStr);
if (obj.has("id")) {
...
}
21、FLAG_ACTIVITY_NEW_TASK:在Activity上下文之外启动Activity需要给Intent设置FLAG_ACTIVITY_NEW_TASK标志,不然会报异常。相当于设置启动模式:singleTask