利用sharePrefences记录被点击的ListView
来源:互联网 发布:浏览器打不开淘宝网页 编辑:程序博客网 时间:2024/06/08 13:45
点击过的ListVIew 被记录,并把title变为灰色
效果图:
1 封装SharePrefences:
/* * 封装sharePreferences */public class PreferenceUtils {public final static String PREF_NAME="config";public static String getString(Context ctx,String key,String defaultValue){SharedPreferences sp=ctx.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);return sp.getString(key, defaultValue);}public static void SetString(Context ctx,String key,String defaultValue){SharedPreferences sp=ctx.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);sp.edit().putString(key, defaultValue).commit();}}
2 添加listView监听:
lv_tablist.setOnItemClickListener(new OnItemClickListener() {//监听哪一个被点击,并将点击的条目变灰色@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {position=position-lv_tablist.getHeaderViewsCount();System.out.println(position+" : "+view);//changeReadState(view);//直接调用的弊端,由于是优化过的ListView 因此不是重复绘制ListView,一个被标记时会出现多个ListView变灰色的情况/* * 可使用sharePreference来记录被点击的ID */String ids = PreferenceUtils.getString(mActivity, "read_ids", "");if(!ids.contains(mNewsList.get(position).id)){ids=ids+mNewsList.get(position).id+" ,";PreferenceUtils.SetString(mActivity, "read_ids", ids);}mNewsdapger.notifyDataSetChanged();}});
3 刷新ListVIew:
使用notifyDataSetChanged之后,在适配器getView中添加:
/* * 获取被点击ListView 的ID,并变换Title的颜色 */String ids=PreferenceUtils.getString(mActivity, "read_ids", "");if(ids.contains(getItem(position).id)){holder.ViewHolder_tvTitle.setTextColor(Color.GRAY);}else{holder.ViewHolder_tvTitle.setTextColor(Color.BLACK);}
0 0
- 利用sharePrefences记录被点击的ListView
- Shareprefences的使用
- 简单利用RecyclerView实现ListView的点击事件
- listview item 无法点击的简单解决(记录)
- 如何记录Listview中item的点击状态
- android中listview里button点击后的状态记录
- listview中Item记录点击状态的方法--(点击显示、隐藏的状态保存)
- android 禁止listview 的ITEM被点击
- android 禁止listview 的ITEM被点击
- ListView的Item无法被点击
- android 禁止listview 的ITEM被点击
- listview的点击事件
- ListView的点击变色
- ListView的点击事件
- listview的点击事件
- listview 与checkbox结合记录点击数据
- 当长时间点击ListView时弹出contextMenu如何确定被点击listView中item的位置
- Android知识点记录: 使用代码设置 android 上listView的条目的点击背景颜色
- c语言typedef剖析
- Elasticsearch源码分析(一)启动流程
- CString转化为int(float) 及 AfxMessageBox 变量显示
- ssms连接本地失败
- 一起talk C栗子吧(第八十九回:C语言实例--使用管道进行进程间通信二)
- 利用sharePrefences记录被点击的ListView
- extern "c"用法解析
- ---写在2016年伊始---
- Python 把矩阵转为list
- unity的界面介绍
- 123
- 【science封面文章】Human-level concept learning through probabilistic program induction
- LeetCode-40-Combination Sum II(DFS)-Medium
- ResourceBundle和Properties