我扩展了一个Dialog
java代码
public class Dialog_query extends Dialog implements OnClickListener {
}
Run Code Online (Sandbox Code Playgroud)
通过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();
}
});
Run Code Online (Sandbox Code Playgroud)
现在的问题是,指出"构造函数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中是正确的.
为何在延伸案件中会出现这样的错误?
你是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();
Run Code Online (Sandbox Code Playgroud)