自己调用onStart或其他Android生命周期方法

自己调用onStart或其他Android生命周期方法,android,Android,自己调用Android活动生命周期方法是一种不好的做法吗?我有一个列表视图,每次调用onStart方法时,它都会使用SQLite数据库中的数据来设置自己,当我删除列表视图中的一行时,我会调用onStart以使用数据库中的新数据再次设置列表视图。这是坏习惯吗 为什么不这样做: public void onStart() { setUpDatabase(); } private void setUpDatabase() { // do your thing } // e

自己调用Android活动生命周期方法是一种不好的做法吗?我有一个列表视图,每次调用onStart方法时,它都会使用SQLite数据库中的数据来设置自己,当我删除列表视图中的一行时,我会调用onStart以使用数据库中的新数据再次设置列表视图。这是坏习惯吗

为什么不这样做:

public void onStart() {
    setUpDatabase();
}

private void setUpDatabase() {
    // do your thing
}


    // elsewhere...
    setUpDatabase();

这样可以避免从正常代码路径调用回调函数的错误做法。

这里更好的做法是创建一个名为
refreshData()
的新方法,例如,在
onStart()
中调用该方法,或者在需要时调用该方法,而不是调用
onStart()
请再说一遍。

最好创建一个异步任务来处理从数据库检索数据的过程“这是一个糟糕的做法吗?”--总之,是的。您根本不应该这样做。您应该使用适配器并通知DatasetChanged。