访问AlertDialog的onClick事件中的私有成员

时间:2010-10-12 15:46:10

标签: android alertdialog

我是Android开发的新手。

我有这个:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.message_user_registered)
       .setCancelable(false)
       .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
               Intent intent = 
                   new Intent(GameDescriptionActivity.this,
                              GameHomeActivity.class);

               Bundle extraData = new Bundle();
               extraData.putInt(Constants.GAME_ID, this.gameId);

               startActivity(intent);
           }
       });
AlertDialog alert = builder.create();
alert.show();

但这条线不起作用:

extraData.putInt(Constants.GAME_ID, this.gameId);

我无法访问this.gameId

我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:3)

因为您使用的是匿名内部类,所以“this”实际上是指该类。您可以通过删除“this”来引用主类的私有字段。或写作: “NameOfYourMainClass.this.gameId”