2011-02-24 241 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");