ボタン(曜日)付きのメインメニューがあります。これらの曜日を参照してデータがデータベースに格納されている場合、それらは「緑色」に変わります。私はSQLクエリ自体を理解していますが、colourChange関数が各ボタンをどのように識別し、それをどのように変更するのかを知っていません。誰かがこの仕組みを説明できるか?メインメニューボタンの色は変わりますが、わかりません
MainMenu.java
private void colourChange() {
Cursor result = myDb.checkColour();
if (result.getCount() == 0) { // If the result equals to 0 then do nothing.
// Default colour remains
} else {
// if the result is not 0 then...
while (result.moveToNext()) { // Move through each result...
String day = result.getString(0); // and store the day (column 0) of the result in day
findViewById(getResources().getIdentifier(day + "button", "id", getPackageName())) // Find the view by ID using getResources.getIdentifier and passing the following parameter (day)
.setBackgroundColor(getResources().getColor(R.color.colorSuccess)); // The variable colourSuccess stored in the colours.xml file sets the background colour green.
}
}
}
Database.java
public Cursor checkColour() { // a SELECT statement is used to SELECT DayOfWeek FROM RoutineTable and GROUP BY DayOfWeek and store this as result.
SQLiteDatabase db = this.getWritableDatabase();
Cursor result = db.rawQuery("SELECT DayOfWeek FROM " + RoutineTable + " GROUP BY DayOfWeek", null);
return result;
}
デバッガでステップインして変数を検査しましたか? – litelite
あなたの質問は何ですか? – Milk