2

我正在玩一个简单的应用程序,我想在单击按钮时显示警报。

我到目前为止的代码是:

package max.helloworld.firstapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;

public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */

private Button closeButton;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    this.setContentView(R.layout.main);
    this.closeButton = (Button)this.findViewById(R.id.close);
    this.closeButton.setKeyListener(new onClickListener() {
        @Override
        public void onClick(View v) { 
            AlertDialog alertDialog = new AlertDialog.Builder(this).create();               
            alertDialog.setTitle("Transformers");
            alertDialog.setMessage("Optimus Prime");
            alertDialog.setButton("OK", new OnClickListener(){
                public void onClick(DialogInterface dialog, int which){
                }
            });
            //alertDialog.setIcon(R.drawable.icon);
            alertDialog.show();
            finish();
        }
    }); 
}
}

问题是它说 AlertDialog alertDialog = new AlertDialog.Builder(this).create();

它说构造函数是未定义的。请问我该如何解决?

4

2 回答 2

5

更改此行:

`AlertDialog alertDialog = new AlertDialog.Builder(this).create();`

至:

`AlertDialog alertDialog = new AlertDialog.Builder(yourActivityName.this);`
于 2012-01-17T16:44:43.900 回答
2

关键字this解析为该范围内的实例OnClickListener。要参考您的活动实例,请替换thisHelloWorldActivity.this

于 2012-01-17T16:43:31.670 回答