在Kotlin中实现Java接口

5

我有一个Java接口:

public interface NonHindiQuery {
    void onNonHindiQueryReceived(String Query);
}

我希望在Kotlin类上实现它:

class MainActivity : AppCompatActivity() {...}

问: 我该如何做到这一点?


3
在类主体之前,在AppCompatActivity()后面添加, NonHindiQurary - Shayan Pourvatan
现在我遇到了这个错误 kotlin.NotImplementedError: 操作未实现:未实现 - Hamza
你必须在你的类中实现接口方法,你之所以会得到这个错误是因为 MainActivity 必须实现 void onNonHindiQuraryRecived(String Queary);或者将你的类设置为抽象类。但你需要选择第一种方式。 - Shayan Pourvatan
我实现了接口,然后出现了这个错误。 - Hamza
这是我做的方式:class MainActivity : AppCompatActivity(), NonHindiQurary - Hamza
1个回答

28

很简单:

class MainActivity : AppCompatActivity(), NonHindiQuery {
    override fun onNonHindiQueryReceived(q: String) {
        // <...>
    }
}

要除去kotlin.NotImplementedError,请从方法体中删除TODO("not implemented")

@kotlin.internal.InlineOnly
public inline fun TODO(reason: String): Nothing = 
    throw NotImplementedError("An operation is not implemented: $reason")

@Alexander Romanov,你能帮我解决这个问题吗:https://stackoverflow.com/q/45293506/1830228 - DolDurma
什么垃圾。为什么他们要做这样愚蠢的事情 :) 顺便说一下,这个有效。谢谢 - Qadir Hussain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接