当前位置: 首页 > 知识库问答 >
问题:

带有datasnapshot.getValue的Android Studio Kotlin错误

楚灿
2023-03-14

在最近的一个项目中,我已经将一个java文件转换为kotlin文件,问题是我在下面的代码中遇到了一个错误:

 val map = dataSnapshot.getValue<Map<*, *>>(Map<*, *>::class.java)
val messageText = messageArea!!.text.toString()
        if (messageText != "") {
            val map = HashMap<String, String>()
            map.put("message", messageText)
            map.put("user", UserDetails.username)
            reference1!!.push().setValue(map)
            reference2!!.push().setValue(map)
            messageArea!!.setText("")
        }
    }
    reference1!!.addChildEventListener(object : ChildEventListener {
        override fun onChildAdded(dataSnapshot: DataSnapshot, s: String) {
            val map = dataSnapshot.getValue<Map<*, *>>(Map<*, *>::class.java)
            val message = map.get("message").toString()
            val userName = map.get("user").toString()

原始java代码片段:

String messageText = messageArea.getText().toString();

            if(!messageText.equals("")){
                Map<String, String> map = new HashMap<String, String>();
                map.put("message", messageText);
                map.put("user", UserDetails.username);
                reference1.push().setValue(map);
                reference2.push().setValue(map);
                messageArea.setText("");
            }
        }
    });

    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();

共有1个答案

南宫俊喆
2023-03-14

试着选角。

val map = dataSnapshot.getValue(Map::class.java) as Map<String, String>

您可能希望取消“未检查强制转换”的警告,但这是可以的。

 类似资料:
  • 有人能帮我做这个吗? 我不知道错误是什么,也不知道我应该如何修复它。任何帮助都很感激

  • 我正在使用带有PRG模式的JSF。(在我的导航规则中使用)。 问题是,当我收到验证错误(例如:用户未设置强制值)时,重定向没有完成(即,一篇文章后面跟着同一页的get)。 情况是: > 用户没有输入强制值并提交表单 发生验证错误,同一视图显示错误消息(无PRG) 用户设置强制值并提交== 用户点击后退按钮= 谁能帮帮我吗? 提前感谢。 斯特凡

  • 我正在尝试将PSK与mbedtls库与SGX结合使用。没有PSK,连接工作正常。 以下是相关的客户端代码: 我有openssl测试服务器运行: 服务器接收连接并交换PSK消息,但是在解密点我收到以下错误: 我还尝试将更改为不同的密码,但仍然是相同的错误。当完全省略密码时,连接正常,但没有执行PSK!?

  • 问题内容: 嗨,我是Spring和Java的新手,我正在尝试实现本教程https://spring.io/guides/tutorials/spring- security-and-angular-js/中 所述的网关身份验证服务器。 我进行了所有工作,然后尝试对我们公司的Ldap服务器实施身份验证。如果我使用有效的用户名和密码,它会起作用。当我使用无效的凭据时,应用程序错误。 我不在上班,所以我

  • 问题内容: 我的“其他”有两个错误,我不知道该怎么办。他们被标记为评论!!导入了“ Punto”和“ Cuadrante”。还有一个枚举。 问题答案: 您可以使用if and else if实现您想要的 如果有的话,您可以拥有更多。 您当前的代码缺少一些右括号,这会导致您所拥有的错误,并且可以通过以下方式修复: 另一种/更好的方法是:

  • 当我尝试通过Flume将流数据输入hadoop时,我收到以下错误。 我已经在flume/lib中创建了指向< code >的链接。hadoop/share/hadoop/中的jar文件 我仔细检查了URL,我认为它们都是正确的。想发帖子来获得更多的关注和反馈。 这是水槽水槽配置 核心网站. xml - Hadoop 2.8