我是安卓新手。我把暑假的空闲时间花在研究它上,以尝试开发一个应用程序。
我需要在列表(ListView)中显示来自数据库表的数据,以便用户操作它。
我找到了 simpleCursorAdapter,但它被指示为已弃用,以避免在 UI 线程中执行查询。使用我的第一张桌子,它会保持小,这可能不是问题,但使用主桌子它会。于是研究了LoaderManager的推荐替换。
我在 ApiDemos SDK Samples 中找到了 LoaderThrottle 示例,试图了解 LoaderManager 机制。ApiDemos/src/com/example/android/apis/app/LoaderThrottle.java
我努力理解这个例子,但我仍然有一些我不明白的地方。
我没有在第 406 行找到 android.R.layout.simple_list_item_1 和 android.R.id.text1 :
// Create an empty adapter we will use to display the loaded data.
mAdapter = new SimpleCursorAdapter(getActivity(),
android.R.layout.simple_list_item_1, null,
new String[] { MainTable.COLUMN_NAME_DATA },
new int[] { android.R.id.text1 }, 0);
setListAdapter(mAdapter);
我也没有在第 377 行找到 android.R.id.content:
// Create the list fragment and add it as our sole content.
if (fm.findFragmentById(android.R.id.content) == null) {
ThrottledLoaderListFragment list = new ThrottledLoaderListFragment();
fm.beginTransaction().add(android.R.id.content, list).commit();
}
ApiDemos 布局目录中没有 simple_list_item_1.xml。有很多不同布局的 text1,但没有找到它可能是哪一个。找到 3 个“内容”,其中一个位于 ContentBrowserActivity$Content 类型的 content_browser.xml 中...
所以我不明白我期待的 ListView 的链接在哪里。
所以对我来说它仍然是“魔法”,因为我没有看到 ListView 和适配器之间的隐藏链接。
我应该在我的 ListView 中有什么?没有什么?我从数据库中获取的每个数据一个 TextView?
如果有人有一个 LoaderManager 的示例,可以将数据库表与 ListView 链接起来,而不是与所有其他 ApiDemo 融为一体,我会喜欢的!
提前感谢您的提示和回答,弗洛伦特