Android 点滴技巧记录(持续更新)
2014-09-09 07:10
232 查看
ExpandableListView里, 如果在关联的adapter的getChildView()里设置了setOnClickListener监听事件,在expandablelistview.setOnChildClick()绑定子菜单点击事件是没有反应的,原因在于两个监听有冲突,去掉adapter里的监听即可。
先创建一个MyApp来extendsApplication, 然后用publict static Context getMyApp() 来return getApplicationContext(). 这样就可以全局的使用context.
如果需要在static method里启动Activity, 需要在方法里把Context作为参数传进去,像下边这样。否则无法直接启动。
LinkedHashMap用起来一点不比Arraylist差,而且可以按照添加的顺序排序,并且可以用在listview的数据里,不过需要先把linkedHashMap的数据简单转换成list,方法大致如下:
之后需要用到数据,可以直接采用list数据即可。本例子中用的是expandablelistview,情况稍复杂,但是类似。
Fragment 保存状态的问题,尤其是通过按返回按钮时候,返回的fragment通常不是你最后离开时候的状态,原因是返回键按下后,fragment会重新调用 onCreateView, 所以可以在在构造fragment时候,添加一个bundle 作为保存状态用,onPause里保存需要保存的东西,在onCreateView里判断一下bundle是不是为NULL,不是的话就调用出来保存的状态。不要指望onSavedInstance, 这个只有在Activity被销毁,重新创建时候才会调用。 在只有一个Activity,
很多Fragments的情况下,还是自己来保存状态吧。
如果应用中用到了Splash界面的话,启动主界面后,按下返回键是会回到splash界面的,这时候只要在manifest.xml里对splashActivity设置一下noHistory=true属性就可以了,以防止回退到启动界面。
EditText不自动获取焦点方法,在其父类View设置,focusable = true; focusable on touchMode = true;
4.2系统后,copyPixelsFromBuffer()之前,需要先调用ByteBuffer的rewind( )byteBuffer的rewind()方法将指针指向0.
jni里的方法不能被定义为static
SVN revert 时候如果出现提示不能缺少parent版本不能revert时,可以切到文件夹下执行svn revert --depth infinity 来进行整个文件夹的恢复工作。
useLibrary
'org.apache.http.legacy' ,解决不能引用deprecated的问题
先创建一个MyApp来extendsApplication, 然后用publict static Context getMyApp() 来return getApplicationContext(). 这样就可以全局的使用context.
如果需要在static method里启动Activity, 需要在方法里把Context作为参数传进去,像下边这样。否则无法直接启动。
private static void startApp(Context context) { Intent intent = new Intent(context, MainActivity.class); context.startActivity(intent); }
LinkedHashMap用起来一点不比Arraylist差,而且可以按照添加的顺序排序,并且可以用在listview的数据里,不过需要先把linkedHashMap的数据简单转换成list,方法大致如下:
private LinkedHashMap<Integer, Menu> _mainMenusMap; private LinkedHashMap<Integer, ArrayList<Menu>> _subMenusMap; private ArrayList<Menu> _mainMenusList; private ArrayList<ArrayList<Menu>> _subMenusList; private Context _context; public NavigationDrawerExpandableListAdapter(Context context, LinkedHashMap<Integer, Menu> mainMenusMap, LinkedHashMap<Integer, ArrayList<Menu>> subMenusMap) { this._context = context; this._mainMenusMap = mainMenusMap; this._subMenusMap = subMenusMap; this._mainMenusList = new ArrayList<Menu>(); this._subMenusList = new ArrayList<ArrayList<Menu>>(); _mainMenusList.addAll(_mainMenusMap.values()); _subMenusList.addAll(_subMenusMap.values()); Log.i(Thread.currentThread().getStackTrace()[2].getClassName(), "_mainMenusList size is " + _mainMenusList.size()); Log.i(Thread.currentThread().getStackTrace()[2].getClassName(), "_subMenusList size is " + _subMenusList.size()); }
之后需要用到数据,可以直接采用list数据即可。本例子中用的是expandablelistview,情况稍复杂,但是类似。
Fragment 保存状态的问题,尤其是通过按返回按钮时候,返回的fragment通常不是你最后离开时候的状态,原因是返回键按下后,fragment会重新调用 onCreateView, 所以可以在在构造fragment时候,添加一个bundle 作为保存状态用,onPause里保存需要保存的东西,在onCreateView里判断一下bundle是不是为NULL,不是的话就调用出来保存的状态。不要指望onSavedInstance, 这个只有在Activity被销毁,重新创建时候才会调用。 在只有一个Activity,
很多Fragments的情况下,还是自己来保存状态吧。
如果应用中用到了Splash界面的话,启动主界面后,按下返回键是会回到splash界面的,这时候只要在manifest.xml里对splashActivity设置一下noHistory=true属性就可以了,以防止回退到启动界面。
EditText不自动获取焦点方法,在其父类View设置,focusable = true; focusable on touchMode = true;
4.2系统后,copyPixelsFromBuffer()之前,需要先调用ByteBuffer的rewind( )byteBuffer的rewind()方法将指针指向0.
jni里的方法不能被定义为static
SVN revert 时候如果出现提示不能缺少parent版本不能revert时,可以切到文件夹下执行svn revert --depth infinity 来进行整个文件夹的恢复工作。
useLibrary
'org.apache.http.legacy' ,解决不能引用deprecated的问题
相关文章推荐
- android点滴之触控相关知识点(持续更新)
- Android 调试技巧全面总结(持续更新)
- [Android] Android Studio提升效率的技巧,持续更新~
- android踩坑记录-持续更新
- android 开发中遇到的一些小的知识点在此做一个记录(持续更新)
- 点滴记录笔记_持续更新
- iOS开发常用小技巧记录(持续更新)
- Android Studio Tip of the Day(AS IDE每日小技巧,持续更新)
- Android 学习记录(持续更新)
- Android集成网易云信踩坑记录!(持续更新)
- Android多屏幕适配技巧整理(持续更新)
- [Android Studio]For MAC快捷键及功能记录(持续更新)
- Android小知识点记录【持续更新】
- hibernate 点滴记录(持续更新)
- Android 开发记录之UI篇(持续更新)
- Sublime Text2(ST2)点滴积累及使用技巧_持续更新【2013-03-20】【最近修改2013-05-16】
- WebStorm 点滴积累及使用技巧_持续更新【2013-03-23】【最近修改2013-06-04】
- Android一些经验技巧(持续更新)
- [置顶] Android 实用技巧知识合集(持续更新)
- [置顶] Android 开发常用技巧(持续更新...)