Я хочу отображать данные из курсора в области, которую пользователь может переворачивать назад и вперед между одним или несколькими экземплярами представления. Я пытаюсь использовать виджет «Галерея», поскольку он уже имеет поддержку адаптера и будет автоматически получать уведомления об обновлениях от поставщика контента. Я посмотрел на использование ViewFlipper, но сначала перешел в галерею из-за поддержки адаптера. Если я не могу заставить его работать, я в конечном итоге попробую ViewFlipper и зарегистрируюсь в качестве наблюдателя контента на курсоре.
То, что у меня сейчас есть, выглядит так: должно работать, и вроде как, за исключением того, что я ничего не вижу на экране. У действия, в котором находится представление Галерея, есть меню параметров. Когда я нажимаю кнопку меню и отображается меню занятия, появляется текст от курсора в Галерее. Когда меню скрыто, содержимое галереи снова исчезает. Кроме того, проводя пальцем влево или вправо по Галерее, я вижу текст, который должен отображаться, как только он достигает дальнего края представления.
Макет моей активности:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Gallery android:id="@+id/host_gallery"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center|fill"
/>
</LinearLayout>
Макет содержимого моей галереи:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
</LinearLayout>
Создание моей активности:
private Gallery mGallery;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.host);
mGallery = (Gallery) findViewById(R.id.host_gallery);
Cursor c = managedQuery(Host.CONTENT_URI, null, null, null, null);
mGallery.setAdapter(new SimpleCursorAdapter(this, R.layout.host_item, c,
new String[] { "name" },
new int[] { R.id.name }));
}
Кто-нибудь может увидеть, что я здесь делаю неправильно, или Галерея просто не сделает то, что я хочу?