AlertDialog.Builder不是Statement

时间:2015-02-12 17:21:30

标签: java android eclipse alertdialog

我的Android项目有问题,

AlertDialog.Builder localBuilder3 = new AlertDialog.Builder(testActivity.this);
Error:(183, 30) error: not a statement
Error:(183, 38) error: ';' expected

import android.app.AlertDialog.Builder;是格雷,“未使用的导入声明”

label422: AlertDialog.Builder localBuilder15 = new AlertDialog.Builder(testActivity.this);
        localBuilder15.setTitle("Test!");
        localBuilder15.setMessage("Test Save");
        localBuilder15.setIcon(2130837510);
        localBuilder15.setPositiveButton("Save", new DialogInterface.OnClickListener()
        {
          public void onClick(DialogInterface paramDialogInterface, int paramInt)
          {
            Toast.makeText(testActivity.this.getApplicationContext(), "Test wird gespeichert!", 0).show();
            TestActivity.this.result = TestActivity.this.abfrage;
            new TestActivity.SaveProductDetails(TestActivity.this).execute(new String[0]);
          }
        });
        localBuilder3.setNegativeButton("Ohne Änderung speichern", new DialogInterface.OnClickListener()
        {
          public void onClick(DialogInterface paramDialogInterface, int paramInt)
          {
            Toast.makeText(TestActivity.this.getApplicationContext(), "test wird nicht gespeichert!", 0).show();
            TestActivity.this.result = TestActivity.this.txtSafe.getText().toString();
            new TestActivity.SaveProductDetails(TestActivity.this).execute(new String[0]);
          }
        });
        localBuilder15.show();

1 个答案:

答案 0 :(得分:1)

标签只能在声明之前,而不能在声明之前。

由于在此声明中您既声明并初始化变量,它也被视为声明,而不是声明,因此标签变为非法。

如果要在当前初始化的行部分放置标签,则应使用:

AlertDialog.Builder localBuilder15;
label422: localBuilder15 = new AlertDialog.Builder(testActivity.this);

这样,你的标签就是一个陈述,而不是宣言。

但是,当然,正如你已经被告知的那样,标签在这里简直是多余的。如果您的陈述中没有任何break陈述,那么它就没用了。

注意:

  • Java中没有goto,因此标签不能用作跳转目标。
  • 如果要中断标签,标签必须标记包含break语句的块的语句。标签标记的语句始终是跟随下一个;的语句,或者如果标签标记复合语句,则结束}。因此,您创建的标签仅标记new语句,之后的语句中没有break语句将在其范围内。