当前位置: 代码迷 >> Android >> android中继承Dialog出现的有关问题
  详细解决方案

android中继承Dialog出现的有关问题

热度:46   发布时间:2016-05-01 15:34:07.0
android中继承Dialog出现的问题

我继承了一个Dialog

Java代码 复制代码
  1. public?class?Dialog_query?extends?Dialog?implements?OnClickListener?{ ??
  2. ??
  3. }??
public class Dialog_query extends Dialog implements OnClickListener {}

?通过xml定义了一个界面,

?

现在想通过点击日期1来选择日期,代码如下

暂记为:“代码button”

?

Java代码 复制代码
  1. Button?btn=(Button)findViewById(R.id.BtnDate);???????? ??
  2. ????????btn.setOnClickListener(new?View.OnClickListener()?{ ??
  3. ??????????public?void?onClick(View?v)?{ ??
  4. ????????????new?DatePickerDialog(Dialog_query.this, ??
  5. ????????????????d2, ??
  6. ????????????????dateAndTime.get(Calendar.YEAR), ??
  7. ????????????????dateAndTime.get(Calendar.MONTH), ??
  8. ????????????????dateAndTime.get(Calendar.DAY_OF_MONTH) ??
  9. ????????????????).show(); ??
  10. ??????????} ??
  11. ????????});??
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();          }        });

?

现在遇到的问题是,提示“The constructor DatePickerDialog(Dialog_query, DatePickerDialog.OnDateSetListener, int, int, int) is undefined”

?

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

?

也会提示“The method makeText(Context, CharSequence, int) in the type Toast is not? applicable for the arguments (Dialog_query, String, int)”

?

但是“代码button”在Activity的情况下是正确的。

?

为什么在继承的情况下会提示这样的错误呢?

是不是因为继承,所以执行DatePickerDialog或是makeText,要添加其他的关键字呢?

?

盼回复,谢谢。

?

第一次发帖,不太会发。刚才也发到问答上面去了。希望版主不要删帖或是扣分啊。

谢谢

1 楼 myderek 2011-12-12  
原因是DatePickerDialog的构造函数第一个参数是Context,而Dialog不是继承与Context,所以你的Dialog_query.this的方式是错误的,应该用Dialog_query的构造函数中的context,也就是采用调用方的context,明白我的意思不?

  相关解决方案