1

こんにちはアンドロイドの本には数独の解決策があります。最後に、おめでとうというダイアログを表示するメッセージを作成したかったのです。空の正方形が残っているかどうかを確認するメソッドがあり、最後の入力が正方形の有効なエントリであるかどうかを確認する別のメソッドでそれを呼び出します

/****** Check to see if the game is complete **/
public boolean isSolved() {
    for (int element : puzzle) {
        if (element == 0)
            return false;
    }
    return true;
}

/** Change the tile only if it's a valid move */
protected boolean setTileIfValid(int x, int y, int value) {
    int tiles[] = getUsedTiles(x, y);
    if (value != 0) {
        for (int tile : tiles) {
            if (tile == value)
                return false;
        }
    }
    setTile(x, y, value);
    calculateUsedTiles();
    //check if the game is complete after each valid move
            if (isSolved() == true) { 
                Intent i = new Intent(this, Congratulations.class); 
                startActivity(i);} 
                else
                {
                    return false;
                }
    return true;
}

どういうわけか、ゲームが完了する前にタイルに入ると、画面全体が左右に揺れます。私がゲームのチェックに入る前に、これはこれをしませんでした。なぜ、どこでこれを行っているのですか?

Congratulatons.xml <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dip" > <TextView android:id="@+id/about_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/congratulations_text" /> </ScrollView> Congratulations.java

package com.example.sudoku;
import android.app.Activity;
import android.os.Bundle;
public class Congratulations extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.congratulations);
}
}
4

1 に答える 1

1

画面を振る原因となるアニメーションがあるようです。おめでとうアクティビティに添付される場合があります。

このメソッドについては、コード (特におめでとうアクティビティ) を検索する必要があると思います。

startAnimation(AnimationUtils.loadAnimation(context,R.anim.shake));

または、AndroidManifest.xml のアクティビティ タグのアニメーションを担当するテーマ (カスタム テーマも) である可能性があります。

多分それはおめでとう活動ではありません。おそらく、数独がまだ解けていないときに呼び出されるコード部分です。

于 2012-08-31T02:06:31.210 に答える