0
我想在Android中为每个Swipe View执行不同的SQL语句。这里是我的onCreateView部分:Android构造函数没有定义
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
expensesCat = inflater.inflate(R.layout.dashboard_expensescat_frag,
container, false);
DatabaseAdapter mDbHelper = new DatabaseAdapter(this);
mDbHelper.createDatabase();
mDbHelper.open();
TransactionRecController trc = new TransactionRecController(
mDbHelper.open());
trans_list = trc.getChartExpensesCat();
openChart();
mDbHelper.close();
return expensesCat;
}
在我的控制器类:
private SQLiteDatabase mDb;
public TransactionRecController(SQLiteDatabase mDb) {
this.mDb = mDb;
}
public ArrayList<TransactionRecModel> getChartExpensesCat() {
try {
String sql = "SELECT SUM(tr.amount) AS total, c.categoryName FROM transactionRec tr " +
"INNER JOIN category c ON tr.categoryID = c.categoryID " +
"WHERE tr.type = 'W' GROUP BY c.categoryName";
Cursor mCur = mDb.rawQuery(sql, null);
Log.e(TAG, "Data Grab Success");
if (mCur.getCount() != 0) {
if (mCur.moveToFirst()) {
do {
TransactionRecModel trm = new TransactionRecModel();
trm.setCategory(mCur.getString(mCur
.getColumnIndex("categoryName")));
trm.setAmount(mCur.getInt(mCur.getColumnIndex("total")));
transList.add(trm);
} while (mCur.moveToNext());
}
}
return transList;
} catch (SQLException mSQLException) {
throw mSQLException;
}
}
然而,当我尝试初始化DatabaseAdapter,我收到此错误信息:
The constructor DatabaseAdapter(DashboardExpensesCat) is undefined
我不知道如何解决这个错误,因为我无法更改我的控制器类中的构造函数。
在此先感谢。
是什么DashboardExpensesCat? – Dhananjay 2014-09-01 04:56:46
这是我的onCreateView()的类名称 – 2014-09-01 04:58:17
@Crazy:我的猜测是他的'活动'。 由于我们无法访问构造函数方法本身,所以它不是很容易。不过,我认为你应该传递一些'Context'。 – eightx2 2014-09-01 04:58:30