小编AlH*_*Ali的帖子

Android Studio Kotlin 出现 dataSnapshot.getValue 错误

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

 val map = dataSnapshot.getValue<Map<*, *>>(Map<*, *>::class.java)
Run Code Online (Sandbox Code Playgroud)

我在“Map<*, *>::class”下有一条红线,android studio 说:

类文字的左侧仅允许类

我应该用这段代码做什么?还有其他写法吗?

这是一个相关的 kotlin 代码片段:

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()
Run Code Online (Sandbox Code Playgroud)

原始java代码片段:

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

            if(!messageText.equals("")){
                Map<String, String> map = new HashMap<String, …
Run Code Online (Sandbox Code Playgroud)

java android kotlin firebase

5
推荐指数
1
解决办法
3900
查看次数

标签 统计

android ×1

firebase ×1

java ×1

kotlin ×1