如何将SharedReferences中的值添加到android中的cardview?

如何将SharedReferences中的值添加到android中的cardview?,android,sharedpreferences,Android,Sharedpreferences,我使用共享首选项存储用户详细信息。现在我想从共享首选项中获取值,并在cardview中显示它。我曾经 onBindViewHolder(final MyViewHolder holder,final int position) 方法来传递数据。如何在适配器类中添加共享首选项 您可以通过使用此选项获得值,然后可以使用您的Component绑定 onBindViewHolder(final MyViewHolder holder,final int position) Context con

我使用共享首选项存储用户详细信息。现在我想从共享首选项中获取值,并在cardview中显示它。我曾经

onBindViewHolder(final MyViewHolder holder,final int position) 

方法来传递数据。如何在适配器类中添加共享首选项

您可以通过使用此选项获得值,然后可以使用您的Component绑定

onBindViewHolder(final MyViewHolder holder,final int position) 
Context context = getActivity();
    SharedPreferences sharedPref = context.getSharedPreferences(
            getString(R.string.preference_file_key), Context.MODE_PRIVATE);

要获取SharedReferences实例,需要上下文。将上下文从活动/片段传递到适配器。获得上下文后,按如下方式获取SharedReferences实例:

onBindViewHolder(final MyViewHolder holder,final int position) 
然后您可以使用sharedPref访问您的用户详细信息

onBindViewHolder(final MyViewHolder holder,final int position) 
如果您在应用程序级别维护SharedReferences的实例,这样您就不会在任何需要的地方创建新实例,这会更好

onBindViewHolder(final MyViewHolder holder,final int position) 
private SharedPreferences preferences;
在构造函数中:

onBindViewHolder(final MyViewHolder holder,final int position) 
preferences = mActivity.getSharedPreferences("pref_name", Context.MODE_PRIVATE);

现在您可以在onBindViewHolder中访问它,因为共享首选项用于存储键值对,我假设您使用的是cardview和recyclerview,所以您可能需要值列表。我认为这是一种不好的做法,您可以使用sqlite实现同样的目的,如果您需要数据库中的数据,或者您可以从api中动态获取数据(如果你的应用程序有后端)

onBindViewHolder(final MyViewHolder holder,final int position) 
您可以使用以下代码从共享首选项中获取值

onBindViewHolder(final MyViewHolder holder,final int position) 
SharedPreferences shared = getSharedPreferences(PREF_NAME, MODE_PRIVATE);
String value = (shared.getString(key, ""));
并将此字符串设置为cardviews值

onBindViewHolder(final MyViewHolder holder,final int position)