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