自定义对话框的类里面 Toast会报错

来源:3-1 自定义对话框

HenryZhao

2020-12-02 10:30:01

Toast 会报错,不知为啥,已经导入包了http://img.mukewang.com/climg/5fc6fbe909e7054811780517.jpg

在这里输

package com.example.dateandtimedialog;

import android.app.Dialog;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

import androidx.annotation.NonNull;

public class DateSetDialog extends Dialog {
public DateSetDialog(@NonNull Context context) {
super(context);
setContentView(R.layout.set_date);
findViewById(R.id.done_btn).setOnClickListener(new View.OnClickListener() {
@Override
   public void onClick(View v) {
Toast.makeText(this,"datetime",Toast.LENGTH_LONG).show();
dismiss();
}
});
}
}

入代码,可通过选择【代码语言】突出显示

写回答

1回答

好帮手慕雪

2020-12-02

同学,你好

http://img.mukewang.com/climg/5fc727610940b51306430323.jpg

这里的参数传递有误。第一个参数应该是一个Context对象,而之前在Activity中写用的this,是指的:当前Activity.this,而这个Activity也是一个Context,所以是没有问题的,而你现在是在一个监听器里写的this,就是指的当前监听器,所以就会报错了。祝学习愉快

0
henryZhao
hp>明白了,应该写 context,   谢谢。

h020-12-02
共4条回复

0 学习 · 2907 问题

查看课程