现在位置: 首页 > 移动开发 > 文章
2018年09月25日 移动开发 ⁄ 共 329字 评论关闭
我们都知道Handler中的post方法可以更新组件的内容,多用在子线程异步更新ui界面。 handler.post(new Runnable(){ @Override public void run() { //do something mTextView.setText("msg"); }}); post 是立即插入消息列队,当消息列队处理到该消息时,Runnable将在handle绑定的线程中运行。也就是说如果在Main Thread里声明了一个handler,这个handler所Post 的 Runnable(Thread)、以及处理的message都是在...
阅读全文
getCacheDir()方法用于获取/data/data/<application package>/cache目录 getFilesDir()方法用于获取/data/data/<application package>/files目录 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在...
阅读全文
2018年09月25日 移动开发 ⁄ 共 865字 评论关闭
今天发现设置viewpager高度为wrap_content时并没作用,stackoverflow给出了解决方案,就是自定义viewpager,重写onMesure()方法: public class WrapContentHeightViewPager extends ViewPager { /** * Constructor * * @param context the context */ public WrapContentHeightViewPager(Context context) { super(context); } /** * Constructor * * @param ...
阅读全文
2018年09月25日 移动开发 ⁄ 共 247字 评论关闭
如果用google自带模拟器或者真机调试时,sd卡目录是在/mnt/sdcard。这个相信大家都知道。 可是今天用genymotion调试时,发现根本打不开/mnt/sdcard这个目录,当时也没注意看其他信息,以为是adb、eclipse出了什么问题,重启它们后依然打不开,经过一番苦苦挣扎后,发现了一个重要的线索! 哦,原来和我完捉迷藏呢,它指向了另一个目录,接着找,发现: 晕,这孩子挺顽皮的,还是指向了其他目录: 终于找到了,真正的SD...
阅读全文
2018年09月25日 移动开发 ⁄ 共 2121字 评论关闭
view.getRootView()的官方解释就是:Finds the topmost view in the current view hierarchy.寻找当前的view层次中处在最顶层的view 我的理解就是找出该view实例所在的view层次的根view。 为证实这个view.getRootView()的真正含义,下面我做了测试: activity_main.xml: <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height...
阅读全文
2018年09月25日 移动开发 ⁄ 共 1375字 评论关闭
重写Baseadapter时,我们知道需要重写以下四个方法:getCount,getItem(int position),getItemId(int position),getView方法, getCount决定了listview一共有多少个item,而getView返回了每个item项所显示的view。 可是getItem(int position),getItemId(int position)有什么作用呢?该怎么重写呢? 首先看 getItem:            @Override             public Object getItem(int position) { .        ...             } ...
阅读全文
2018年09月25日 移动开发 ⁄ 共 3187字 评论关闭
一、onSaveInstanceState (Bundle outState)   先看Application Fundamentals上的一段话:  Android calls onSaveInstanceState() before the activity becomes vulnerable to being destroyed by the system, but does not bother calling it when the instance is actually being destroyed by a user action (such as pressing the BACK key)   从这句话可以知道,当某个activity变得“容易”被系统销毁时,该activity的onSav...
阅读全文
1.将view转为bitmap   public static Bitmap getBitmapFromView(View view) { // Define a bitmap with the same size as the view Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); // Bind a canvas to it Canvas canvas = new Canvas(returnedBitmap); // Get the view's background Drawable bgDrawable = view.getBackground(); ...
阅读全文
2018年09月25日 移动开发 ⁄ 共 860字 评论关闭
class MyScrollListener implements OnScrollListener { @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { /** * firstVisibleItem 表示在当前屏幕显示的第一个listItem在整个listView里面的位置(下标从0开始) * visibleItemCount表示在现时屏幕可以见到的ListIt...
阅读全文
我们做Listview的分批加载时,需要为Listview调用setOnScrollListener(具体代码可见我上一篇博客) 可是,我们会发现,当运行程序时,listview明明没有滚动,那为什么系统会调用onScroll方法呢?(补充:此时onScrollStateChanged并不会调用) 我们先看setOnScrollListener源码: public void setOnScrollListener(OnScrollListener l) { mOnScrollListener = l; invokeOnItemScrollListener(); } setO...
阅读全文