1.注意!实例化过的控件,例如Textview tx,如果再次Textview tx=findview…就会造成无响应!
2.如果创造一个Listview对象请注意设置
android:descendantFocusability=“blocksDescendants”
(在listview布局里设置而不是主界面添加的listview里)
防止主控件无法响应点击
android:focusable=“false”
防止子控件,例如按钮无响应
3.
首先,获取需要加载的布局文件order.xml, 这里采用的是LayoutInflater,而不是我们平时使用的
findViewById( ). **LayoutInflater的作用类似于
findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!**而
findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。
使用LayoutInflater来获取布局文件有三种方式:第一种方式: LayoutInflater inflater = LayoutInflater.from(this); View
layout = inflater.inflate(R.layout.order, null); 第二种方式: LayoutInflater
inflater = getLayoutInflater(); View layout =
inflater.inflate(R.layout.order, null); 第三种方式: LayoutInflater inflater
= (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.main, null);
记得如果要自定义Dialog必须做到先把布局实例化再单独操作🔗
4.对于fragment里边创建对话框对象,可以通过新的类创建,也可以直接内部类创建,内部类的好处是可以直接拿到并更改fragment里面的布局
5.一个Activity托管的两个Fragment传送信息的问题
我被这玩意儿折腾了几个星期,终于在一个博客中得到答案🔗
或者也可以参考这一篇🔗
6.【Android】无法发送短信的问题
权限声明+动态申请才可🔗
7.碰到一个非常棘手问题,就是感觉listview刷新不灵性,知道我找到了这个,我的天太实用了
ListView优化之局部刷新(更新)🔗
8.对于数据库提前放到asset文件夹让后复制到databases目录下面的方法,结合这两个 一起看的:
Android开发:如何使用预先制作好的SQLite数据库🔗
Android加载asset的db🔗
9.犯了个特别沙雕错误折腾我几个小时,千万记得学号啥的要设置成string,不然随随便便超过int范围:-2147483648~2147483647
java.lang.NumberFormatException: For input string: “1000000000”
java.lang.NumberFormatException: For input string: " New"异常解决!🔗
10.血的教训,定义一个对象记得初始化,不然就找机会赋值,不然里面啥都没有会报错的。
11.material design动画的使用🔗
12.三次贝塞尔曲线练习之弹性的圆🔗
13.水波纹实现
// An highlighted blockvar foo = 'bar';
14.蛋疼的ScrollView设置监听
ScrollView滚动事件和滚动状态(开始、停止)的监听实现🔗