我是Android的新手。我花了我的免费夏季来研究它,试图开发一个应用程序。
我需要在列表(ListView)中显示来自数据库表的数据,以便用户操作它。
我找到了simpleCursorAdapter,但是为了避免在UI Thread中执行查询,它被指示为已弃用。 使用我的fisrt表,它将保持较小,这可能不是一个问题,但它与主表一样。所以我研究了LoaderManager推荐的更换。
我在ApiDemos SDK Samples中找到了LoaderThrottle示例,试图了解LoaderManager机制。 ApiDemos / SRC / COM /示例/机器人的/ apis /应用程序/ 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没有融合所有其他ApiDemos,我会很喜欢它!
提前感谢您的提示和答案, Florent的
答案 0 :(得分:0)
感谢您的回答。我现在更了解这种机制。 无需创建特定布局。
所以我认为与应用程序其余部分的链接在FragmentTabs活动中,第54行:
bar.addTab(bar.newTab()
.setText("Throttle")
.setTabListener(new TabListener<LoaderThrottle.ThrottledLoaderListFragment>(
this, "throttle", LoaderThrottle.ThrottledLoaderListFragment.class)));
ApiDemos / SRC / COM /示例/机器人的/ apis /应用程序/ FragmentTabs.java
祝你好运, Florent的