Использование пользовательских com.android.internal.R.layout.preference
Есть ли способ установить layoutResId для android.preference.Preference? Мне нужно заменить com.android.internal.R.layout.preference чем-то большим, чем ListView. (Я хочу PreferenceActivity в другом представлении и для него, чтобы раздуть иерархию предпочтений в этом представлении вместо того, чтобы показывать только ListView по умолчанию). Через PreferenceActivity я могу получить PreferenceManager, но PreferenceManager.getPreferenceScreen является закрытым пакетом. PreferenceScreen.setLayoutResId может изменить ResId, который я хочу, но я не могу получить его. Если бы я мог, изменил бы эту работу или это сломало бы вещи?
1 ответ
Ты можешь позвонить setContentView
на PreferenceActivity
до тех пор, пока есть ListView
где-то в макете с идентификатором android.R.id.list
(или же @android:id/list
из XML). Это будет целью, в которую завышены предпочтения. Вы можете добавлять любые другие представления, которые вам нравятся, при условии соблюдения этого требования.