2011-02-24 160 views
3

我想显示共享首选项中的一个编辑框,只能为用户阅读,但我应该可以通过代码对其进行更改。如何实现这一目标?共享首选项

+1

你的意思是一个TevtView?使用setText() – Reno 2011-02-24 14:34:23

+0

但我不希望它是由用户可编辑。为用户值应该只读 – john 2011-02-24 14:40:27

+0

PLease通过它:http://androiddeveloperspot.blogspot.in/2013/01/sharedpreference-in-android.html – 2013-03-07 07:04:26

回答

3

tutorial是很好的创造偏好。 另外,如果你想改变外界的喜好PreferenceActivity你应该使用编辑器 例如:

Editor e = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit(); 
e.putString("yourPreference", "default value"); 
e.commit(); 

我希望它能帮助

此外,如here的文件显示,PreferenceActivity使用用于展示偏好的视觉风格。而且,如同在相同链接中指示的那样,“当用户与它们交互时,偏好将自动保存到SharedPreferences”。

所以,知道这一点,如果你不希望用户编辑的喜好,你可以使用一个TextView,或EditText非/编辑在PreferenceActivity,然后用上面的代码来修改它的PreferenceActivity外。 我希望有所帮助。

+0

感谢info..im使用相同的存储共享的Perference,但我使用文本视图,甚至用户可以编辑,我不想要的。这个怎么做? – john 2011-02-24 15:07:07

+0

您可以创建您的自定义首选项,其中只有带有文本的“首选项”或单击“首选项”,然后出现“对话框”和您想要的文本。这些只是例子,我不知道你在做什么,因为你没有发布你的代码。但是,这些是你可以用来实现它的一些想法。你怎么看? – raukodraug 2011-02-24 16:11:59

2

你想要的是一个TextView。 EditText是默认情况下可由用户编辑的TextView子类。所以,你设置TextView的,用户不能对其进行修改和设置

TextView tv = new TextView(this); 
tv.setText(""); 
2

您使用的是标准PreferenceActivity与文本?如果是这样,您应该能够转到您的首选XML文件,并将android:enabled="false"设置为您想要只读的文件。

0

我希望你应该首先显示来自共享pref的值,并在文本框布局中使用android:editable="false"。此代码将不允许用户修改编辑框中的文本。

-1

试试这个在XML: 机器人:选择=“假”

0

的一种方式,你可以显示非可编辑的文本是使用标准的偏好,并设置它的摘要(下优先标题显示的小文本)。

<Preference 
    android:key="text_preference" 
    android:selectable="false" 
    android:title="Title" /> 

Preference textPreference = (Preference) getPreferenceManager().findPreference("text_preference"); 
    textPreference.setSummary("Text");