• Register
0 votes

Problem :

I am beginner in Android Studio and I have written code, but I keep facing below error if I try to run my code:
"Error: method does not override or implement a method from a supertype".

I have already spent over four hours on this error but I am unable to fix it.
Can somebody help me in fixing this issue?

2.3k points

Please log in or register to answer this question.

2 Answers

0 votes

Solution :

I can give you very simple generalized solution on your issue, I guess you must have used the @Override tag it will add the compile time check to make sure if your method is overriding the method from the super class.

And you must have written a method call for which there is no method present in any of the Android's Activity classes then you just cannot override it.

In that case you must remove the @Override tag from your code to make your code compile. however onCreate2() will never execute. Please note you cannot just write random methods into your class and then expect that they will be executed. They must be called from somewhere if a method is not getting called then it and will not be compiled with the wrong @Override tag.

I hope the solution will help you in resolving your error.

5k points
0 votes


The problem is what the error message is saying: "the method does not override or implement a method from a supertype". You annotated both methods with the Override annotation, however, no method with the same signature (i.e. the parameters) can be found in the supertype (JsonHttpResponseHandler).

If you take a look at the documentation of JsonHttpResponseHandler, you can see all the available onSuccess(...) and onFailure(...) methods.

Follow the below code:

client.get(QUERY_URL + urlString,
    new JsonHttpResponseHandler() {

        public void onSuccess(int statusCode, org.apache.http.Header[] headers, JSONObject jsonObject) {
            // Display a "Toast" message
            // to announce your success
            Toast.makeText(getApplicationContext(), "Success!", Toast.LENGTH_LONG).show();

            // 8. For now, just log results
            Log.d("omg android", jsonObject.toString());

        public void onFailure(int statusCode, org.apache.http.Header[] headers, Throwable throwable, JSONObject error) {
            // Display a "Toast" message
            // to announce the failure
            Toast.makeText(getApplicationContext(), "Error: " + statusCode + " " + throwable.getMessage(), Toast.LENGTH_LONG).show();

            // Log error message
            // to help solve any problems
            Log.e("omg android", statusCode + " " + throwable.getMessage());

Note that starting from Android 6.0 (API level 23) the Apache library (org.apache.http.*) is not available anymore. If you want to continue using that, see Behavior Changes for more information

Some personal opinion: I wouldn't recommend using the Asynchronous HTTP Library as it's built on top of the obsolete (and from API level 23, removed) Apache HttpClient, which has poor performance compared to HttpURLConnection. Quote from the Android developers about HttpURLConnection:

This API is more efficient because it reduces network use through transparent compression and response caching, and minimizes power consumption.

If it is not solved yet then try this below code

public class BatteryStatusPackage implements ReactPackage {

public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
    List<NativeModule> modules = new ArrayList<>();

    modules.add(new BatteryStatusModule(reactContext));

    return modules;

public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();

public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
    return Collections.emptyList();



31.7k points