Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在生成器中应用此选项_Java_Android_Firebase_Notifications_Firebase Realtime Database - Fatal编程技术网

Java 无法在生成器中应用此选项

Java 无法在生成器中应用此选项,java,android,firebase,notifications,firebase-realtime-database,Java,Android,Firebase,Notifications,Firebase Realtime Database,我正在使用firebase构建聊天应用程序。我试图在收到新消息时通知用户。我的问题是这个。我收到一个错误消息,说builder中的builder(content.context)不能应用于(匿名com)… 这是我的密码: reference1.addChildEventListener(new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String s)

我正在使用firebase构建聊天应用程序。我试图在收到新消息时通知用户。我的问题是
这个
。我收到一个错误消息,说builder中的
builder(content.context)不能应用于(匿名com)…

这是我的密码:

reference1.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
        Map map = dataSnapshot.getValue(Map.class);
        String message = map.get("message").toString();
        String userName = map.get("user").toString();
//If i am the sender
        if(userName.equals(UserDetails.username)){
            addMessageBox("You:-\n" + message, 1);
        }
        else {
//if somebody else send a message
                addMessageBox(UserDetails.chatWith + ":-\n" + message, 2);

            NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
                            .setSmallIcon(R.drawable.hello)
                            .setContentTitle("My notification")
                            .setContentText("Hello World!");



        }
    }
有什么建议吗

编辑

如下面的回答所述
问题是,这指的是ChildEventListener,而不是活动,因此我必须在ChildEventListener之外创建一个方法,以便“this”可以指的是它自己的活动,并在我想要的地方调用它

您需要一个上下文,例如一个活动

因此,您可以使用
活动。此
,或

final Context context = this;
reference1.addChildEventListener(new ChildEventListener() {
    @Override
   ... 

并在事件侦听器中使用
上下文
使用
MainActivity。此
,或活动iserror已消失但未收到任何通知的任何名称Error已消失但我未收到任何通知。不确定要告诉您什么。你的问题只是让代码编译你只创建了一个生成器。您的问题中没有任何内容会显示通知哦,Sry我没有显示全部代码,我在ChildEventListener外部创建了一个名为startNotification的对象,并在内部调用了它,它工作了,现在这指的是它自己的活动。非常感谢