通过创建一个新的android项目并选择master detail flow主题,这将提供一个关于如何使用这个主题的示例,这很好。我的问题是这个例子使用了静态数据,我需要它是动态的。我的应用程序使用异步任务从服务中获取 JSON 格式的数据,然后我对其进行解析并将其保存在手机数据库中。
这是 DummyContent 类:
public class DummyContent {
/**
* An array of sample (dummy) items.
*/
public static List<DummyItem> ITEMS = new ArrayList<DummyItem>();
/**
* A map of sample (dummy) items, by ID.
*/
public static Map<String, DummyItem> ITEM_MAP = new HashMap<String, DummyItem>();
// static {
// // Add 3 sample items.
// addItem(new DummyItem("1", "Item 1"));
// addItem(new DummyItem("2", "Item 2"));
// addItem(new DummyItem("3", "Item 3"));
// }
public static void setContext(Context c) {
if (db == null) db = new MyDbAdapter(c); // SQLiteOpenHelper + SQLiteDatabase manager
if (db.isOpen() == false) {
db.open();
Cursor c = db.getProfiles(); // database query
if (c.moveToFirst()) {
do {
ProfileItem item = new ProfileItem(c.getString(0), c.getString(1),
c.getString(2));
addItem(item);
} while (c.moveToNext());
}
}
}
private static void addItem(DummyItem item) {
ITEMS.add(item);
ITEM_MAP.put(item.id, item);
}
/**
* A dummy item representing a piece of content.
*/
public static class DummyItem {
public String id;
public String content;
public DummyItem(String id, String content) {
this.id = id;
this.content = content;
}
@Override
public String toString() {
return content;
}
}
}
您可以看到我注释了静态数据并添加了应该调用的“setContext”来添加来自 DB 的数据。我的问题是我应该在何时何地调用此函数以便显示数据?我应该在“kind_name_ListFragment.java”“onCreate”或“kind_name_DetailFragment.java”“onCreate”或两者中调用它(如果两者都不是多余的)或其他地方,有更好的解决方案吗?