首页
学习
活动
专区
工具
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

63010

安卓开发个人小作品(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.5K20

安卓第八夜 玛丽莲梦露

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

59410

安卓第八夜 玛丽莲梦露

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

1.8K90

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

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

1.2K20

《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...AndroidSharedPreferences和序列化结合保存对象数据 使用方法 Android应用开发SharedPreferences存储数据的使用方法-android100学习网 SharedPreferences...详解 - zhang31jian的专栏 - 博客频道 - CSDN.NET 用SharedPreferences保存对象 Android使用SharedPreferences保存对象 - 推酷 SharedPreferences

43340

《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...AndroidSharedPreferences和序列化结合保存对象数据 使用方法 Android应用开发SharedPreferences存储数据的使用方法-android100学习网 SharedPreferences...详解 - zhang31jian的专栏 - 博客频道 - CSDN.NET 用SharedPreferences保存对象 Android使用SharedPreferences保存对象 - 推酷 SharedPreferences

59150

自用知识_实用小知识

详解 我们开发软件的时候,常需要向用户提供软件参数设置功能,Android平台给我们提供了一个SharedPreferences类,它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置参数...,比如boolean,int,float,long,String等数据.使用SharedPreferences保存数据,其实质是采用了xml文件存放数据,路径为:/data/data/<package...调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用....将数据保存SharedPreferences: SharedPreferencespreferences=getSharedPreferences(“user”,Context.MODE_PRIVATE...设置Android:editable=”false” 然后尝试使用editText.setFocusable(false);和editText.setEnabled(false);设置不可编辑状态;editText.setFocusable

59720

我的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方法。

43530

Android编程规范

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

1.2K70

AndroidSharedPreference详解及简单实例

AndroidSharedPreference详解 SharedPreference是Android提供的一种轻量级的数据存储方式,主要用来存储一些简单的配置信息,例如,默认欢迎语,登录用户名和密码等...public abstract SharedPreferences getSharedPreferences (String name, int mode); name:表示保存后 xml 文件的名称...(String key, String value); public abstract boolean commit (); 下面一个实例显示一个TextView,上面显示用户使用该应用的次数。...这种方法的好处是可以指定保存的xml文件名。 另一种是通过PreferenceManager.getSharedPreferences(Context)获取SharedPreferences对象。...这种方法不能指定保存的xml文件名,文件名使用默认的:<package name +”_preferences.xml”的形式,不过如果在一个包里面采用这种方式需要保存多个这样的xml文件,可能会乱掉。

64731

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,今天就到这里,大家晚安!

33800

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以下是一个改变背景颜色的效果,但是我们可以通过修改

91230

教育系统APP(二)

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

1K10

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())){ // 如果集合包含此行

806100

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 由于代码都是现写,时间原因,没有全部加注释,如果大家 有什么不懂的地方,可以留言

31430
领券