1.adapter的setHasStableIds设置成true 2.重写adapter的getItemId方法 @Override public long getItemId(int position) { return position; }3.mRecyclerView.setItemAnimator(null);…
如下: public static String httpPost(String url, String json) { try { URL u = new URL(url); HttpURLConnection httpURLConnection = (HttpURLConnection) u.openConnection(); httpURLConnection.setConnectTimeout(TIMEOUT); httpURLConnection.setDoInput(true); h…
View rootview = this.getWindow().getDecorView(); int focusId = rootview.findFocus().getId(); Log.i(TAG,"id = 0x"+Integer.toHexString(focusId)); focusId就是当前焦点的控件ID,我们转换为16进制后,再与R.java文件中的id进行比较,就能知道我们当前焦点是哪个控件了R.java文件中的ID如下…
首先是主布局fragment里面的xml文件 <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/a…
作者地址http://www.jianshu.com/u/63915ef020e2 针对Android Tv的自定义RecyclerView 作者 wenju_song 关注 2016.12.09 19:52* 字数 814 阅读 1368评论 17喜欢 22 前言:Android TV Launcher页在RecyclerView出来之前大家用GridView去实现.TV开发有五向键的监听,遥控器hover监听,点击事件等.用GridView去处理焦点是有一定挑战性的,往往会出现不可预料焦点错…
废话不多说,直接贴代码! 所谓的双缓存,第一就是缓存在内存里面,第二就是缓存在SD卡里面,当你需要加载数据时,先去内存缓存中查找,如果没有再去SD卡中查找,并且用户可以自选使用哪种缓存! 缓存内存和缓存SD都有一个共同的方法,就是put和get方法(存数据和取数据),因此我们采用工厂模式! 新建一个接口,名字随便取,用来封装内存缓存和sd缓存里面共有的方法,然后新建一个内存缓存类和sd缓存类,双缓存类并且都实现此接口,注意建双缓存类只是为了更方便的使用其他两个缓存,你想想 如果两个缓存类封装到一…
1.Message msg =  Message.obtain(mainHandler) msg.obj=obj;//添加你需要附加上去的内容 msg.what = what;//what消息处理的类型 msg.sendToTarget(); 获取消息:String msg2= (String)msg.obj;Log.i(TAG, "msg1::"+msg2); 2.Message msg = mHandler.obtainMessage(MSG_NOTICE_SUCCESS); Bu…
package com.android.ryane.pulltoloaddata_recyclerview; import android.os.Handler;import android.os.Looper;import android.support.v4.widget.SwipeRefreshLayout;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.supp…
public class DataCleanManager { /** * * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * * * * @param context */ public static void cleanInternalCache(Context context) { deleteFilesByDirectory(context.getCacheDir()); } /** * * 清除本应用所有数据库(/data/data/com.xxx.…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 1.管理Fragment回退栈 类似与Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fragment事务发生的变化.如果你将Fragment任务添加到回退栈,当用户点击后退按钮时,将看到上一次的保存的Fragment.一旦Fragment完全从后退栈中弹出,用户再次点击后退键,则退出当前Activity.…