2010-11-27 6 views
1

こんにちはAndroidブックのページ番号68-69でこのコードを理解することはできません。コードで使用されているいくつかのメソッドは、私にとって初めてのものです。誰でもコードを詳しく説明して説明することができます。こんにちは、Androidの本からこのコードを説明することができます

private static final String TAG = "Sudoku" ; 
private void openNewGameDialog() { 
     new AlertDialog.Builder(this) 
     .setTitle(R.string.new_game_title) 
     .setItems(R.array.difficulty, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialoginterface,int i) { 
      startGame(i); 
      } 
}) 
.show(); 
} 
private void startGame(int i) { 
Log.d(TAG, "clicked on " + i); 
// Start game here... 
} 
+0

あなたが理解していないことを教えてください。 – Falmarri

+0

このオブジェクトはここで「これ」を参照しますが、それは同じアクティビティですか? OnClickListener()関数についてです。 – naquiuddin

+0

'this'は、openNewGameDialog()メソッドが属するクラスのインスタンスを参照します。 –

答えて

2

それがないすべてのあなたがopenNewGameDialogを(呼び出すときである)には、「R.array.difficulty」は、最終的に指し示す整数値です(リソースファイルからオプションの割り当てられたタイトルやリストとのalertdialogを作成します。 /res/values/arrays.xmlファイルで宣言されている文字列配列)。 AlertDialogは、ユーザーからの入力を簡単に作成する方法です。それはまた、出力のために使用することができますが、多くはそのタスクのためにトーストを好む。 .show()の最後には、ダイアログが前面に表示されます。

コールにアイテムが追加されると、アイテムがクリックされるとstartGameにそのアイテムのインデックスが送信されるonClickリスナーが割り当てられます。この関数では、インデックスを含むメッセージのみをlogcatデバッグシステムに送信します。

関連する問題