如何将一个随机数传递给另一个类?

时间:2011-07-15 13:02:46

标签: android

我正在制作数独游戏。有两个类:难度和Screen类。当按下“easy”按钮时,我想生成一个从1到9的随机数,这些数字应该转到Screen类布局。

我的“简单”按钮位于choosedifficulty类布局中。

2 个答案:

答案 0 :(得分:5)

您可以使用Intent附加功能在活动之间传递信息。在你的情况下,你可以做(​​假设我明白你想做什么):

  public void startSudoku(int chosenDifficulty) {
    Intent i = new Intent(this,   // Your current activity
        SudokuActivity.class);    // The activity showing the Sudoku
    i.addExtra("com.example.sudoku.DifficultyLevel", chosenDifficulty);
    startActivity(i);
  }

然后,在您的Sudoku活动的onCreate方法中,您可以获得难度级别:

private int difficulty = 0;

protected void onCreate(Bundle savedInstanceState) {
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        difficulty = extras.getInt("com.example.sudoku.DifficultyLevel", 0);
    }
}

答案 1 :(得分:2)

小心,因为数独不仅是“从1到9的随机数”,所以我建议你正确实现算法。 (看看http://en.wikipedia.org/wiki/Sudoku_algorithms)。

关于将数据从一个活动传递到另一个活动,您可以使用意图。例如:

//In the place you launch your game
Intent myIntent = new Intent(myContext, Screen.class);
//sudoku is a String, for example, that contains the sudoku you want to pass
myIntent.putExtra("sudokukey", sudoku);
startActivity(myIntent);

然后,检索数据:

Bundle bundle = getIntent().getExtras();
String mySudoku = bundle.getString("sudokukey");