Мне нужно обрабатывать навигацию PreferenceFragment с помощью D-PAD в GoogleTV. Для этого мне нужно получить доступ к ListView (первый и последний элементы) PreferenceFragment.
В приведенном ниже коде я смог получить доступ к дочерним элементам списка, но он был пустым. Тем не менее, если я отлаживаюсь, я вижу, что создаются 12 детей, но они равны нулю, поэтому возвращаемое количество равно '0'
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState){
//Log.d(DEBUG_TAG, "onCreateView");
View v = inflater.inflate(R.layout.settings_tile, null);
closeBtn = (ImageView) v.findViewById(R.id.settingsCloseButton);
ListView lv = (ListView) v.findViewById(android.R.id.list);
lv.getChildCount();
return v;
}
Ниже приведен xml для PreferenceScreen ... обратите внимание, что это Pref-экраны в Pref-экранах:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="main_pref">
<PreferenceCategory
android:title="@string/units">
<ListPreference
android:key="pref_unit_temp"
android:title="@string/temperature"
android:defaultValue="@string/default_metric"
android:entries="@array/pref_temp_units"
android:entryValues="@array/pref_temp_units_values"
android:dialogTitle="@string/units"
android:layout="@layout/settings_item"
/>
</PreferenceCategory>
<PreferenceCategory
android:title="@string/advanced">
<ListPreference
android:key="pref_speed"
android:title="@string/speed"
android:entries="@array/pref_speed"
android:entryValues="@array/pref_speed_values"
android:defaultValue="@string/default_metric"
android:layout="@layout/settings_item"/>
<ListPreference
android:key="pref_measurement"
android:title="@string/measurement"
android:entries="@array/pref_measurement"
android:entryValues="@array/pref_measurement_values"
android:defaultValue="@string/default_metric"
android:layout="@layout/settings_item"/>
<ListPreference
android:key="pref_time"
android:title="@string/time_format"
android:entries="@array/pref_time"
android:entryValues="@array/pref_time_values"
android:defaultValue="@string/default_metric"
android:layout="@layout/settings_item"/>
<ListPreference
android:key="pref_date"
android:title="@string/date_format"
android:entries="@array/pref_date"
android:entryValues="@array/pref_date_values"
android:defaultValue="@string/default_metric"
android:layout="@layout/settings_item"/>
</PreferenceCategory>
<PreferenceScreen
android:title="@string/terms_conditions"
android:summary=""
android:layout="@layout/settings_item">
<intent android:action="android.intent.action.VIEW"
android:data="http://www.accuweather.com/m/EULA.aspx" />
</PreferenceScreen>
</PreferenceCategory>
</PreferenceScreen>
Могу ли я получить доступ по крайней мере к первому и последнему элементу "Температура" и "Условия и положения", как показано на рисунке ниже: