Android - How to hide a control in PreferenceFragment

android

Solution

After much debugging, turns out it was quite simple. Here is what you need to do:

First, obtain the PreferenceCategory the item belongs to. Next, just call removePreference on it.

 PreferenceCategory myCategory = (PreferenceCategory) findPreference("myPrefCategory");
 myCategory.removePreference(myList);

Problem

In my preferences UI, I need to hide a preference based on certain conditions. ``` public class MyFragment extends PreferenceFragment { public void onCreate(Bundle state) { addPreferencesFromResource(...); ListPreference myList = (ListPreference) findPreference("myid"); ... if (condition) { // hide myList } } ``` } I cannot seem to find any method either on ListPreference or on PreferenceFragment to hide it from being shown in the UI. Would appreciate if you can point me in the right direction.

Original source

Related problems