如何在newView / bindView中定义AlertDialog.Builder

时间:2011-11-14 09:41:47

标签: android

我有一个ListView,我正在使用SimpleCursorAdapter来填充内容,而newView& bindView获取视图。

我想在每次点击行列表上的按钮时启用它,它会加载一个AlertDialog框。

以下是代码:

btn.setOnClickListener(new OnClickListener() {
 public void onClick(View view) {
    Intent intent = getIntent();
    if (intent != null) {
    Uri uri = intent.getData();
    if (uri != null) {
    Cursor cursor = managedQuery(uri, new String[] {
    BaseColumns._ID, Database.Project.C_PRICE, Database.Project.C_KEYWORD,
    Database.Project.C_SHORTCODE}, null, null, null);

if (cursor == null) {
finish();
} else {
if (cursor.moveToFirst()) {

AlertDialog.Builder alertbox = new AlertDialog.Builder(this);                                             
alertbox.setTitle("SMS");

我总是在这一行上收到错误:AlertDialog.Builder alertbox = new AlertDialog.Builder(this);

它说:The constructor AlertDialog.Builder(new View.OnClickListener(){}) is undefined

我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

您正在使用this创建错误使用AlertDialog.Builder的{​​{1}}。您正在应用按钮的侦听器引用来创建AlertDialog.Builder,而您应该具有该Activity的引用。

Activity_name.this

答案 1 :(得分:1)

试试这种方式

btn.setOnClickListener(new OnClickListener() {
     public void onClick(View view) {
         AlertDialog.Builder alertbox = new AlertDialog.Builder(view.getContext());
     }
}