我希望显示用户可以在一个或多个视图实例之间来回切换的区域中的光标数据。我正在尝试使用Gallery小部件,因为它已经具有Adapter支持并且会自动从内容提供者接收更新通知。我查看了使用ViewFlipper,但由于适配器的支持,他先去了Gallery。如果我无法使它工作,我将最终尝试一个ViewFlipper并在光标上注册为内容观察者。
我现在看起来似乎应该正在工作,似乎有点似乎,除了我实际上无法在屏幕上看到任何内容。包含Gallery视图的活动有一个选项菜单。当我按下菜单按钮并显示活动菜单时,将显示图库中光标的文本。隐藏菜单后,Gallery内容会再次消失。此外,当在画廊上向左或向右滑动时,我可以看到一旦到达视图的远边缘就应该显示的文本。
我的活动布局:
<?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>
我的活动是onCreate:
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 }));
}
任何人都可以在这看到我做错了什么,或者画廊不会做我想做的事情?