我想在hello Android Sudoku示例中顯示一個對話框,但是當我運行應用程序時什麼也沒有發生。在game.java我檢查,如果讓人不解的是解決了這樣你好android數獨,檢查遊戲是否完成顯示一個對話框
/******Check to see if the game is complete**/
public boolean isSolved()
{
for (int element : puzzle) {
if (element == 0) return false;
}
return true;
}
然後在的onkeydown方法我嘗試檢測是否溶解情況是真實的PuzzleView,如果它是顯示對話框
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (game.isSolved() == true) {
Intent i = new Intent(mActivity, Congratulations.class);
getContext().startActivity(i);
} else {
Log.d(TAG, "onKeyDown: keycode=" + keyCode + ", event=" + event);
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
select(selX, selY - 1);
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
select(selX, selY + 1);
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
select(selX - 1, selY);
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
select(selX + 1, selY);
break;
case KeyEvent.KEYCODE_0:
case KeyEvent.KEYCODE_SPACE:
setSelectedTile(0);
break;
case KeyEvent.KEYCODE_1:
setSelectedTile(1);
break;
case KeyEvent.KEYCODE_2:
setSelectedTile(2);
break;
case KeyEvent.KEYCODE_3:
setSelectedTile(3);
break;
case KeyEvent.KEYCODE_4:
setSelectedTile(4);
break;
case KeyEvent.KEYCODE_5:
setSelectedTile(5);
break;
case KeyEvent.KEYCODE_6:
setSelectedTile(6);
break;
case KeyEvent.KEYCODE_7:
setSelectedTile(7);
break;
case KeyEvent.KEYCODE_8:
setSelectedTile(8);
break;
case KeyEvent.KEYCODE_9:
setSelectedTile(9);
break;
case KeyEvent.KEYCODE_ENTER:
case KeyEvent.KEYCODE_DPAD_CENTER:
game.showKeypadOrError(selX, selY);
break;
default:
return super.onKeyDown(keyCode, event);
}
return false;
}
return false;
}
我正在學習Java和Android開發,所以請任何幫助,以便我要去哪裏錯將非常感激。如果有人需要更多信息,請提問,我將把它放在編輯部分。
這將是很難搞清楚的當我們不知道可變拼圖中有什麼時,這個問題。 –
您想讓我發佈整個遊戲課程和整個puzzleview課程嗎? – WillNZ
沒有必要,因爲它有很多代碼。只是想知道isSolved()是否返回true。你可以通過在那裏寫日誌來檢查。 –