扩展对话在android中出错了

时间:2012-08-24 06:56:52

标签: android

我扩展了一个Dialog

java代码

public class Dialog_query extends Dialog implements OnClickListener {   

}  

通过XML定义一个接口 enter image description here

现在想点击日期1来选择日期 代码如下 记录为:代码按钮

java按钮

Button btn=(Button)findViewById(R.id.BtnDate);           
        btn.setOnClickListener(new View.OnClickListener() {   
          public void onClick(View v) {   
            new DatePickerDialog(Dialog_query.this,   
                d2,   
                dateAndTime.get(Calendar.YEAR),   
                dateAndTime.get(Calendar.MONTH),   
                dateAndTime.get(Calendar.DAY_OF_MONTH)   
                ).show();   
          }   
        }); 

现在的问题是,指出“构造函数DatePickerDialog(Dialog_query,DatePickerDialog.OnDateSetListener,int,int,int)未定义”

后来发现在这里添加“Toast.makeText(LoginSuccess.this,”关于敏捷软件1.0“,Toast.LENGTH_LONG).show();”

还指出“Toast类型中的方法makeText(Context,CharSequence,int)不适用于参数(Dialog_query,String,int)”

但是“代码按钮”在Activity中是正确的。

为什么在延伸案例中会出现这样的错误?

1 个答案:

答案 0 :(得分:5)

你是Dialog_query继承自对话框。但是Dialog类不会从Activity:http://developer.android.com/reference/android/app/Dialog.html

继承

DatePickerDialog的构造函数需要上下文或活动。输入您的活动名称而不是Dialog_query.this

new DatePickerDialog(ActivityName.this,   
                d2,   
                dateAndTime.get(Calendar.YEAR),   
                dateAndTime.get(Calendar.MONTH),   
                dateAndTime.get(Calendar.DAY_OF_MONTH)   
                ).show();