我有一個工作瑣事遊戲,我現在試圖實現高分。我創建了一個擴展SQLiteOpenHelper的子類DatabaseHelper類。我想從另一個類的子類DatabaseHelper中調用一個方法,並且出現錯誤。這些類不會編譯,因此沒有LogCat輸出。我在代碼中評論了錯誤。從其他類調用子類方法 - Android(java)
代碼結構建議也很讚賞!
Highscores.java
public class Highscores extends Activity {
DatabaseHelper dh;
SQLiteDatabase db;
@Override
public void onCreate(Bundle savedInstanceState) {
dh = new DatabaseHelper(context);
}
public class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper(Context context) {
//code
}
public boolean check(long score, int percentage) {
//code
}
}
}
Results.java
public class Results extends Activity {
DatabaseHelper dh; //Error: "DatabaseHelper cannot be resolved to a type."
public void onCreate(Bundle savedInstanceState) {
dh = new DatabaseHelper(); //Error: "DatabaseHelper cannot be resolved to a type."
}
public void showResults() {
if(dh.check(score, percentage) == true) { //Error: "DatabaseHelper cannot be resolved to a type."
dh.insert(score, percentage); //Error: "DatabaseHelper cannot be resolved to a type."
}
}
}
這似乎解決了問題。這是正確的方法嗎?看起來很奇怪,只需從另一個類中導入一個子類。 – Matt
這是完全正常的。一些IDE也會自動爲你導入它們。一般也有鍵盤快捷鍵。例如,在OSx上的Eclipse中,我點擊command + shift + o並修復所有這些錯誤。 –
完美。謝謝邁克。 – Matt