我扩展了一个Dialog
java代码
public class Dialog_query extends Dialog implements OnClickListener {
}
通过XML定义一个接口
现在想点击日期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中是正确的。
为什么在延伸案例中会出现这样的错误?
答案 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();