我正在处理一个选项卡式布局。在第二个选项卡上,它维护着一个项目列表。如果我从第一个选项卡上的另一个列表中删除一个项目,它应该通过调用静态添加方法将其添加到第二个。如果我在应用程序第一次启动时这样做,它会给我一个空指针异常,因为数据库变量尚未在驻留在第二个选项卡上的活动中初始化(使用调试器检查)(尚未调用 onCreate 方法)。但是,如果我启动应用程序,切换到选项卡,然后切换回第一个选项卡并删除一个项目,它会正常工作,因为然后调用了 onCreate 方法。所以我的问题是,在我调用静态方法添加到它之前,我如何确保我的数据库已实例化,或者我的第二个活动/选项卡中的 onCreate?
这是调用静态方法的代码
ShoppingListActivity.addToShoppingList(name, quan);
这是静态方法
public static void addToShoppingList(String name, int quan)
{
shoppingDb.insertFood(name, quan);
}
这是未初始化的 shoppingDb 变量,并且由于未调用 onCreate 而返回 null。