Я пытаюсь настроить ViewFlipper, который изменяет содержимое SlidingDrawers каждый раз при нажатии кнопки. До сих пор все созданные мной настройки работали нормально, но теперь я пытаюсь создать ListView (включая single_choice_mode) в дочернем представлении ViewFlipper, но моя попытка разрешить только исключение NullPointerException. Поскольку я только открыл ViewFlipper сегодня, я еще не знаком с ним и, возможно, не понял его полностью ... если кто-то может дать мне руку и помочь мне узнать, что я сделал неправильно, это было бы здорово.Как заполнить представление ViewFlipper с помощью ListView?
Заранее спасибо.
Вот что я сделал:
код для события OnClick из ImageButtons:
public void onClick(View v) {
if (v == btnExposure) {
mFlipper.setDisplayedChild(0);
} else if (v == btnProperties) {
mFlipper.setDisplayedChild(1);
} else if (v == btnSpecialEffects) {
mFlipper.setDisplayedChild(2);
String[] specialEffects = getResources().getStringArray(R.array.special_effects_array);
lv.setAdapter(new ArrayAdapter <String> (this, R.layout.specialeffectsview, specialEffects));
lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
}
}
XML-код ViewFlipper в моем главном XML-файле:
<ViewFlipper
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/flipper"
android:layout_toRightOf="@id/button_exposure">
<include android:id="@+id/view_exposure" layout="@layout/exposureview" />
<include android:id="@+id/view_properties" layout="@layout/propertiesview" />
<include android:id="@+id/view_special_effects" layout="@layout/specialeffectsview"/>
</ViewFlipper>
Строковый массив в моих строках.xml:
<string-array name="special_effects_array">
<item>None</item>
<item>Greyscale</item>
<item>Sepia</item>
<item>Negative</item>
<item>Solarize</item>
<item>Polarize</item>
</string-array>
И, наконец, specialeffectsview.xml (файл макета для ListView):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/view_special_effects_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView android:id="@+id/special_effects_list"
android:layout_height="wrap_content"
android:layout_width="fill_parent"></ListView>
</LinearLayout>
Я уже пробовал это, но поскольку это тоже не сработало, я изменил макет на простой LinearLayout с RadioButton Group, а не на мое идеальное и окончательное решение, но пока это должно сделать трюк ... – kivy