View を拡張するクラス PuzzleView があります。if ステートメントが true を返したときに、このビューから新しいアクティビティ おめでとうございます。
public class PuzzleView extends View {
/*Code here blah blah blah then*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (game.isSolved()== true)
{
Context context = getContext();
Intent i = new Intent(PuzzleView.this, Congratulations.class);
getContext().startActivity(i);
}
私が得ているエラーは、「コンストラクターのインテント(PuzzleView、クラス)は未定義です」です ここ
new Intent(PuzzleView.this, Congratulations.class);
@imrankhan への返信として、onKeyDown() 全体がここにあります。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (game.isSolved()== true)
{
Context context = getContext();
Intent i = new Intent(context, Congratulations.class);
context.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 true;
}
}