Skip to content Skip to sidebar Skip to footer

Java.lang. Runtimeexception No Retrofit Annotation Found. (parameter #3)

I'm trying to update this RetroFit + Otto tutorial, so my code updated is: IWeather.java RetroFit 2.+ doesn't allow to return void, so instead of void getWeather(...) I added Call&

Solution 1:

java.lang.IllegalArgumentException:NoRetrofitannotationfound.(parameter#3)

As the error says, the problem is that the third parameter of the getWeather method does not have an annotation. The Callback class is used for the Call#enqueue(Callback) method.

Simply change

sForecastClient.getWeather(latitude, longitude, callback)

to

sForecastClient.getWeather(latitude, longitude).enqueue(callback)

and remove the third parameter.

Solution 2:

Try it and modify your retrofit version number to 2.6.0. The use of coroutines in Retrofit 2.6.0 can return a Response object directly. If await() is not needed, Retrofit will automatically call it. This is not applicable when the version is below 2.6.0.

Post a Comment for "Java.lang. Runtimeexception No Retrofit Annotation Found. (parameter #3)"