【发布时间】:2018-04-08 03:31:11
【问题描述】:
要理解我的问题,我们需要解释项目设计。我们有一个简单的 MVP 概念,其中一个 DB 有 3 列 id 名称 cost(int) 使用 DBHelper 和模型类,以及一个由 RecyclerAdapter 支持的 ListActivity 以及一个 DetailsActivity,它显示 DB 中的所有元素。 ListActivity 中的项目被选中。启动活动 MainActivity 将允许用户运行许多查询标准公平显示从 ListActivity 调用后填充在 DBHelper 中的 ArrayList 中的所有数据这是 DBHelper 有此语句发送回 dbList 的重要部分到 ListActivity "return modelList" 所以我们决定创建一个查询,对成本列中的值求和,然后将总和返回给 MainActivity。 DBHelper 对两条 RETURN 语句非常不满意。因为对 DBHelper 的调用是从 ListActivity 进行的,所以我们试图通过从 MainActivity 直接调用来绕过这一点。没有办法 DBHelper 说一个 RETURN 语句。我的问题是如何从 DBHelper 返回总和值?查询有效,我们将在下面发布从 Main 调用的代码。
public sumALL(){
Cursor cursorA =null;
db = this.getWritableDatabase();
String q = "SELECT SUM(cost) FROM " + TABLE_INFO;
cursorA = db.rawQuery(q,null);
if(cursorA.moveToFirst()){
totalPrice = cursorA.getInt(0);
}
cursorA.close();
db.close();
return totalPrice;
【问题讨论】:
-
每个方法都应该有只有一个返回语句!
-
@ModularSynth 是的,我同意这一点,但第二种方法只是其中之一。我们不涉及填充 dbList 的方法我们认为是因为 Cost 列在模型类中,这就是 DBHelper 抱怨的原因
-
the second method... 哪一个?我只看到 一个 方法。 -
如何从 void 方法返回一个值(在本例中为 totalPrice)?
-
此外,
return()语句之后的所有语句都不会执行。return()结束游戏。
标签: android sqlite return android-sqlite