首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用sharedPreferences在listView中保存textView颜色

在Android开发中,可以使用SharedPreferences来保存和读取应用程序的配置信息。SharedPreferences是Android提供的一种轻量级的数据存储方式,用于保存键值对数据。

对于使用SharedPreferences在ListView中保存TextView颜色的问题,可以按照以下步骤进行操作:

  1. 首先,在ListView的适配器中,为每个TextView设置一个唯一的标识符,例如使用position作为标识符。
  2. 在ListView的适配器中,为每个TextView设置一个点击事件,当用户点击TextView时,触发该事件。
  3. 在点击事件中,获取被点击的TextView的标识符,然后使用SharedPreferences保存该TextView的颜色信息。

示例代码如下:

代码语言:java
复制

textView.setOnClickListener(new View.OnClickListener() {

代码语言:txt
复制
   @Override
代码语言:txt
复制
   public void onClick(View v) {
代码语言:txt
复制
       int position = (int) v.getTag(); // 获取TextView的标识符
代码语言:txt
复制
       int color = textView.getCurrentTextColor(); // 获取TextView的颜色
代码语言:txt
复制
       SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
代码语言:txt
复制
       SharedPreferences.Editor editor = sharedPreferences.edit();
代码语言:txt
复制
       editor.putInt("color_" + position, color); // 保存颜色信息,使用标识符作为键名
代码语言:txt
复制
       editor.apply();
代码语言:txt
复制
   }

});

代码语言:txt
复制
  1. 当ListView需要显示数据时,通过适配器的getView方法获取每个TextView的标识符,并从SharedPreferences中读取对应的颜色信息。

示例代码如下:

代码语言:java
复制

@Override

public View getView(int position, View convertView, ViewGroup parent) {

代码语言:txt
复制
   // ...
代码语言:txt
复制
   textView.setTag(position); // 设置TextView的标识符
代码语言:txt
复制
   SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
代码语言:txt
复制
   int color = sharedPreferences.getInt("color_" + position, -1); // 从SharedPreferences中读取颜色信息
代码语言:txt
复制
   if (color != -1) {
代码语言:txt
复制
       textView.setTextColor(color); // 设置TextView的颜色
代码语言:txt
复制
   }
代码语言:txt
复制
   // ...

}

代码语言:txt
复制

通过以上步骤,就可以使用SharedPreferences在ListView中保存和读取TextView的颜色信息了。这样,当用户点击TextView时,其颜色信息会被保存,下次再次显示时可以恢复颜色。

推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/tpns)可以用于实现消息推送功能,适用于移动应用开发中的消息通知、推广活动等场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

列表、存储以及WebView 相关优化

列表优化 ListView 优化逻辑 在adapter中的getView方法中尽量少使用逻辑 尽最大可能避免GC 滑动的时候不载入图片 将ListView的scrollingCache和animateCache...设置为false item的布局层级越少越好 使用ViewHolder 使用RecyclerView 在adapter中的getView方法中尽量少使用逻辑 不要在你的getView...cache中(保存为一个bitmap),这样下次再显示View的时候就不用重画了,而是从cache中取出。...基于缺点改进 建议不要存储较大数据或者较多数据到SharedPreferences中; 频繁修改的数据修改后统一提交,而不是修改过后马上提交; 在跨进程通讯中不去使用SharedPreferences...; 键值对不宜过多; 使用腾讯MMKV 来替换SharedPreferences mmp和文件锁保证数据的完整性 增量写入,使用Protocol Buffer 支持从SharedPreferences

65410

安卓开发个人小作品(3) – 多功能音乐播放器

所在的activity里,调用工具类获取音乐集合,构造适配器,给Listview设置适配器,即可在Listview中显示本地所有的音乐啦,关键代码就三行,如下 List list = MusicUtils.getMusicData...主要就是sharepreference的使用,代码很简单,就不贴了 6.播放列表背景图设置与保存 设置播放列表背景也就是调用一下,listview.setBackground即可,但是我们如果不进行保存的话...// 使用sharedPreferences保存listview背景图片 private void saveDrawable(Drawable drawable) { SharedPreferences.Editor...保存的图片 private Drawable loadDrawable() { String temp = sharedPreferences.getString("listbg...,然后怎么使用呢,举个例子,比如我现在需要让popupwindow的背景色随主题改变而更换,那么在popupwindow的布局中,设置其background属性为如下即可 android:background

1.6K30
  • 安卓第八夜 玛丽莲梦露

    在该过程中,我可以更自由的控制对数据和ListView的绑定。下面的CategoryAdapter继承了ArrayAdapter。它将允许我: 使用Category表中的数据。...使用更复杂的视图格式。控制Category对象中的多个属性的显示方式。 我在me.vamei.vamei中新增CategoryActivity.java。...此时,我们需要如if结构中那样,重建新的条目视图。 我将要赋予给条目的视图布局保存在list_category.xml中。它在位于一行中包含了两个TextView: 在ArrayAdapter中,我还可以用setTag()的方式,保存条目中具体视图元素的引用,从而减少使用findViewId()方法的次数。这也能提高应用的运行效率。...Holder类型的对象用于保存两个TextView类型的引用。

    61710

    安卓第八夜 玛丽莲梦露

    在该过程中,我可以更自由的控制对数据和ListView的绑定。下面的CategoryAdapter继承了ArrayAdapter。它将允许我: 使用Category表中的数据。...使用更复杂的视图格式。控制Category对象中的多个属性的显示方式。 我在me.vamei.vamei中新增CategoryActivity.java。...此时,我们需要如if结构中那样,重建新的条目视图。 我将要赋予给条目的视图布局保存在list_category.xml中。它在位于一行中包含了两个TextView: 在ArrayAdapter中,我还可以用setTag()的方式,保存条目中具体视图元素的引用,从而减少使用findViewId()方法的次数。这也能提高应用的运行效率。...Holder类型的对象用于保存两个TextView类型的引用。

    1.9K90

    Android之ListView,AsyncTask,GridView,CardView,本地数据存储,SQLite数据库

    标题图 补充 补充上一节,使用ListView是用来显示列表项的,使用ListView需要两个xml文件,一个是列表布局,一个是单个列表项的布局。...Handler和AsyncTask为了是为了不阻塞主线程即UI线程,UI的更新只能在主线程中进行处理,所以异步处理在Android开发中不可免。...onPostExecute(Result):此方法在主线程中执行。 onProgressUpdate(Progress):使用此方法显示任务执行的进度。...GridView 使用GridView可以实现九宫格效果,是和ListView一样比较常用的多控件布局。...在关系型数据库中,二维表中的列为属性,称为字段;行为记录,如一对象;属性中(字段)取值范围称为域。 这里我们要学会数据库,如DDL,DML等,数据定义语言和数据操作语言,创建表格和增删改查。

    1.3K20

    《Android》Lesson20-广播2

    中字体颜色的selector - 博客频道 - CSDN.NET (3)editText改变字体颜色 SpannableString ss = new SpannableString("你要写的内容"...txtInfo.setText(ss); Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性 - 享受技术带来的快乐 - 博客频道...- minenamewj的专栏 - 博客频道 - CSDN.NET 解决在BroadcastReceiver(广播接受者)中不能添加AlertDialog(对话框)的问题(android.view.WindowManager...Android中SharedPreferences和序列化结合保存对象数据 使用方法 Android应用开发SharedPreferences存储数据的使用方法-android100学习网 SharedPreferences...详解 - zhang31jian的专栏 - 博客频道 - CSDN.NET 用SharedPreferences保存对象 Android使用SharedPreferences保存对象 - 推酷 SharedPreferences

    45740

    《Android》Lesson21-广播+SharedPreferences

    中字体颜色的selector - 博客频道 - CSDN.NET (3)editText改变字体颜色 SpannableString ss = new SpannableString("你要写的内容")...txtInfo.setText(ss); Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性 - 享受技术带来的快乐 - 博客频道 - CSDN.NET...- minenamewj的专栏 - 博客频道 - CSDN.NET 解决在BroadcastReceiver(广播接受者)中不能添加AlertDialog(对话框)的问题(android.view.WindowManager...Android中SharedPreferences和序列化结合保存对象数据 使用方法 Android应用开发SharedPreferences存储数据的使用方法-android100学习网 SharedPreferences...详解 - zhang31jian的专栏 - 博客频道 - CSDN.NET 用SharedPreferences保存对象 Android使用SharedPreferences保存对象 - 推酷 SharedPreferences

    61250

    我的Android之路(持续更新总结~)

    我的Android之路 android设置文字过期废弃中划线 使用release包查看打印日志 Android studio的Gradle里面不能打.aar包 抽奖转盘 抽完奖之后设置转盘回到原点 dialog...ListView属性 ListView示例(附详解+源码) android设置文字过期废弃中划线 textView.getPaint().setFlags(Paint....TAG名称) Android studio的Gradle里面不能打.aar包 在Settings里面把下列内容取消勾选即可 抽奖转盘 抽完奖之后设置转盘回到原点 抽完奖之后设置转盘回到原点...,commit是原子提交到数据库,从提交数据到存在磁盘中都是同步过程; 而apply方法的原子操作是原子提交到内存中,而非数据库,之后再异步提交数据到数据库中。...在不关心提交结果是否成功的情况下,优先考虑apply方法。

    47330

    Android编程规范

    description既可以是该颜色值使用的功能描述,也可以是该颜色值的英文描述,也可以是具体的颜色值,例如: #ffffff #dddddd 因为grey可能有很多等级,有时候需要不同等级的灰色,没有那么多英文名可以区分,所以名字中可以直接使用颜色值...,textview2 关于字面常量: 代码中不允许出现直接硬编码的字面常量,如果是控件上面显示的文本,必须放在strings.xml资源文件中。...JSON解析: Android中调用服务端的接口一般返回的是json数据,在解析json的时候,无论是使用原始的手工解析方式,还是使用javabean的解 析方式,解析出来的结果在使用的时候必须都进行判空处理...List的数据更新: 封装ListView的数据更新,在handlerMessage中更新数据,避免出现 java.lang.IllegalStateException 问题.

    1.2K70

    Android 高手进阶教程(二)之----Android 数据库SQLiteDatabase的使用!!

    Android 提供了三种数据存储方式,第一种是文件存储;第二种是SharedPreferences 存储;第三种就是数据库SQLiteDatabase 存储。...文件存储我就不用多说了,而SharedPreferences 可以存取简单的数据(int,double,float.etc),它经常用于数据缓存,因为它读取存储简单。详细可以参见本系列。...今天我们将讲一下SQLiteDatabase 的使用**。** 而掌握SqliteDatabase ,将会我们接下来掌握ContentProvider 打下良好的基石**。...; import android.widget.TextView; import android.widget.Toast; public class SQLiteDatabaseDemo extends...另一种方法是用DDMS查看,在data/data下面对应的应用程序的包名 下会有如下数据库,如图所示: 如果大家 有什么不懂的地方,可以留言,我会尽快答复。 ok,今天就到这里,大家晚安!

    37600

    Android 高手进阶教程(二)之----Android 数据库SQLiteDatabase的使用!!

    大家好,好久没有更新博客了,最近由于身体不适让大家久等了,好了,直接进入主题~ Android 提供了三种数据存储方式,第一种是文件存储;第二种是SharedPreferences 存储;第三种就是数据库...文件存储我就不用多说了,而SharedPreferences 可以存取简单的数据(int,double,float.etc),它经常用于数据缓存,因为它读取存储简单。详细可以参见本系列。...今天我们将讲一下SQLiteDatabase 的使用。 而掌握SqliteDatabase ,将会我们接下来掌握ContentProvider 打下良好的基石。...; import android.widget.TextView; import android.widget.Toast; public class SQLiteDatabaseDemo extends...另一种方法是用DDMS查看,在data/data下面对应的应用程序的包名 下会有如下数据库,如图所示: image.png 由于代码都是现写,时间原因,没有全部加注释,如果大家 有什么不懂的地方,可以留言

    33830

    教育系统APP(二)

    SharedPreferences中,Activity的onCreate中调用init() 登录界面 标题栏的引用 EditText、Button控件 SharedPreferences的使用...使用本地数据存储用户信息,注册成功后将用户名和密码保存在SharedPrefereces中,以便于后续用户登录。为保证账户的安全,在保存密码时采用MD5加密算法,这种算法不可逆,具有一定的安全性。...--到main_title_bar.xml中tv_main_title按钮的下方,加个“保存”--> TextView android:id="@+id/tv_save" android:layout_width...file 保存注册信息到SharedPreferences中 在REgisterActivity中创建一个saveRegisterInfo()方法,讲注册成功的用户名和密码(经过MD5加密)保存到SharedPreferences...SharedPreferences中 由于在后续创建主界面时,需要根据登录状态来设置界面的图标和用户名,因此需要创建saveLogiinStatus()方法,在登录成功后吧登录状态和用户名保存到SharedPrefereces

    1.1K10

    ListView使用技巧-更新中

    虽然在Android5.X中,RecyclerView在很多地方组件取代了ListView,但是ListView的使用依然是分广泛。 本博文将对以下两方面的内容进行介绍 1....使用ViewHolder模式提高效率 ViewHolder模式充分利用了ListView的视图缓存机制,避免了每次在getView()时重复的调用findViewById()....使用ViewHoder的步骤: 1. 在自定义的Adapter中定义一个内部类ViewHolder,并将Item布局中的控件作为成员变量 2....只加载View的时候使用findViewById()方法。 * 使用View的setTag()方法保存ViewHolder。...取消ListView的Item点击效果 当点击ListView的某一项Item时,系统默认会出现一个点击效果,在Android5.X上是一个波纹的效果,而在5.X以下是一个改变背景颜色的效果,但是我们可以通过修改

    95530

    6.listview显示不用条目

    MyConstants.URI_DRAFT; case 3: return MyConstants.URI_SENT; } return null; } FolderUI :可以用%来改变条目的颜色...name = (TextView) view.findViewById(R.id.tv_name_folder); TextView count = (TextView) view.findViewById...的条目都带着上面的一条的,解决方法 每个条目判断和上一个条目是否是同一天,不是显示,是隐藏,但是会不停的判读 在获取日期信息的时候保存到集合,不是同一天就保存,用第二种,缺点一次性全部取出效率不高 public...在文件夹页面,点击listView的位置 */ private int position; @Override protected void onCreate(Bundle savedInstanceState...BitmapDrawable(bitmap)); } } // 设置标题 if(showPositionSet.contains(cursor.getPosition())){ // 如果集合中包含此行

    823100

    Android 编程之第三方开发 MaoZhuaWeiBo微博开发演示样例-1「建议收藏」

    在大学期间我做过非常多类似这种APP。这个是我们小组之前做的,我后期增加非常多新元素。完好了这个应用,由于为了加强 专业技术嘛。也是常常熬夜写些小东西,嘿嘿。只是还算不错。...setBackgroundResource( R.drawable.dot_focused); oldPosition = position; // 记录下当前界面的位置:(线程的使用...//Public与Private 是对象的訪问权限 //public(共同拥有) 说明不论什么类在不论什么地方都能调用它 //private(私有) 说明仅仅有在本类内被调用 public...保存了最后一次动态的数据在本地: 数据都是来自腾讯server的。不是本地的。首页界面: 这个GridView我还没有做不论什么拓展。...授权成功,信息保存至首选项: package com.neweriweibo.activity; /** * 授权 * @author Engineer-Jsp * @date 2014.10.28

    49310
    领券