修饰符“覆盖”不适用于“本地功能”
Posted
技术标签:
【中文标题】修饰符“覆盖”不适用于“本地功能”【英文标题】:Modifier 'override' is not applicable to 'local function' 【发布时间】:2020-06-16 14:24:03 【问题描述】:在 android 中使用 firebase realtime datqabase 时出现以下错误
val catListener = object : ValueEventListener
override fun onDataChange(dataSnapshot: DataSnapshot)
if (dataSnapshot.exists())
// Get Post object and use the values to update the UI
for (eventSnapshot in dataSnapshot.children)
val name = eventSnapshot.child("name").getValue() as String
list.add(Category(name));
var adp = CategoryAdapter(list);
cat_rv.adapter = adp
adp.onItemClick = pos, view ->
i.putExtra("category", list[pos].name)
startActivity(i)
override fun onCancelled(databaseError: DatabaseError)
// Getting Post failed, log a message
Log.w("Category", "loadCat:onCancelled", databaseError.toException())
错误--
修饰符'override'不适用于'local function'(指对象:ValueListener
对象不是抽象的,没有实现抽象成员public 抽象乐趣 onCancelled(@NonNull p0: DatabaseError): 单位定义在 com.google.firebase.database.ValueEventListener
【问题讨论】:
【参考方案1】:您缺少各种语法 - 主要是右大括号。这至少是让您获得有效 Kotlin 语法的原因。
val catListener = object : ValueEventListener
override fun onDataChange(dataSnapshot: DataSnapshot)
if (dataSnapshot.exists())
// Get Post object and use the values to update the UI
for (eventSnapshot in dataSnapshot.children)
override fun onCancelled(databaseError: DatabaseError)
// Getting Post failed, log a message
Log.w("Category", "loadCat:onCancelled", databaseError.toException())
【讨论】:
是的,很抱歉我提供了部分代码。上面的代码给了我一个错误 看看我有什么。我编辑了我的问题。仍然出现同样的错误。 您仍然有语法错误。这里没有足够的信息来了解您要表达的意思。请尝试自行解决语法问题 - Stack Overflow 不是一个很好的编译器错误迭代论坛。【参考方案2】:改变这个:
val catListener = object : ValueEventListener
override fun onDataChange(dataSnapshot: DataSnapshot)
if (dataSnapshot.exists())
// Get Post object and use the values to update the UI
for (eventSnapshot in dataSnapshot.children)
val name = eventSnapshot.child("name").getValue() as String
list.add(Category(name));
var adp = CategoryAdapter(list);
cat_rv.adapter = adp
adp.onItemClick = pos, view ->
i.putExtra("category", list[pos].name)
startActivity(i)
override fun onCancelled(databaseError: DatabaseError)
// Getting Post failed, log a message
Log.w("Category", "loadCat:onCancelled", databaseError.toException())
进入这个:
val catListener = object : ValueEventListener
override fun onDataChange(dataSnapshot: DataSnapshot)
if (dataSnapshot.exists())
// Get Post object and use the values to update the UI
for (eventSnapshot in dataSnapshot.children)
val name = eventSnapshot.child("name").getValue() as String
list.add(Category(name));
var adp = CategoryAdapter(list);
cat_rv.adapter = adp
adp.onItemClick = pos, view ->
i.putExtra("category", list[pos].name)
startActivity(i)
override fun onCancelled(databaseError: DatabaseError)
// Getting Post failed, log a message
Log.w("Category", "loadCat:onCancelled", databaseError.toException())
您缺少括号
【讨论】:
以上是关于修饰符“覆盖”不适用于“本地功能”的主要内容,如果未能解决你的问题,请参考以下文章