Использование пользовательских com.android.internal.R.layout.preference - PullRequest
1 голос
/ 27 января 2012

Есть ли способ установить layoutResId для android.preference.Preference? Мне нужно заменить com.android.internal.R.layout.preference чем-то большим, чем ListView. (Я хочу PreferenceActivity в другом представлении, и чтобы оно раздуло иерархию предпочтений в этом представлении вместо того, чтобы показывать только ListView по умолчанию). Через PreferenceActivity я могу получить PreferenceManager, но PreferenceManager.getPreferenceScreen является закрытым пакетом. PreferenceScreen.setLayoutResId может изменить ResId, который я хочу, но я не могу получить его. Если бы я мог, изменил бы эту работу или это сломало бы вещи?

1 Ответ

1 голос
/ 28 января 2012

Вы можете вызвать setContentView на PreferenceActivity, если в макете есть ListView с идентификатором android.R.id.list (или @android:id/list из XML). Это будет целью, в которую завышены предпочтения. Вы можете добавлять любые другие представления, которые вам нравятся, при условии соблюдения этого требования.

...