【发布时间】:2018-07-20 04:20:33
【问题描述】:
我在最近的一个项目中将一个 java 文件转换为 kotlin 文件,问题是我遇到了这个代码的错误:
val map = dataSnapshot.getValue<Map<*, *>>(Map<*, *>::class.java)
我在“Map::class”下有一条红线,android studio 说:
类文字的左侧只允许使用类
我应该如何处理这段代码?有没有其他的写法?
这里是一个相对的kotlin代码sn-p:
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代码sn-p:
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();
【问题讨论】:
-
你能把原始的java代码贴出来吗?
-
我已经用java代码编辑了帖子。
-
也许你可以在这个question找到你的答案
-
非常感谢各位,问题已解决。
标签: java android firebase kotlin