Methode heeft geen methode in zijn superclass

Ik probeer de titel voor mijn actiebalk in te stellen, maar het is mij gegeven dat de foutmelding “Methode is niet overschrijft methode in zijn superclass”. Ik ben fragment uit.

Hier is het gedeelte dat ik problemen heb met

@Override
public void setTitle(CharSequence title) {
    mTitle = title;
    getActivity().getActionBar().setTitle(mTitle);
}

Hier is de code voor de hele klas (het is onvolledig omdat ik er nog steeds aan werk

package com.android.styles.radius360;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.view.Menu;
/**
 * Created by user on 3/23/2017.
 */
public class HomePageFragment extends Fragment {
private String[] mOptions;
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private CharSequence mTitle;
private ActionBarDrawerToggle mDrawerToggle;
private CharSequence mDrawerTitle;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.home_page, container, false);
    mOptions = getResources().getStringArray(R.array.options_array);
    mDrawerLayout = (DrawerLayout) v.findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) v.findViewById(R.id.left_drawer);
    // Set the adapter for the list view
    mDrawerList.setAdapter(new ArrayAdapter<String>(getActivity(),
            R.layout.drawer_list_item, mOptions));
    // Set the list's click listener
    mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
    mTitle = mDrawerTitle = getActivity().getTitle();
    mDrawerLayout = (DrawerLayout) v.findViewById(R.id.drawer_layout);
    mDrawerToggle = new ActionBarDrawerToggle(getActivity(), mDrawerLayout,
            R.string.drawer_open, R.string.drawer_close) {
        /** Called when a drawer has settled in a completely closed state. */
        public void onDrawerClosed(View view) {
            super.onDrawerClosed(view);
            getActivity().getActionBar().setTitle(mTitle);
            getActivity().invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
        }
        /** Called when a drawer has settled in a completely open state. */
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);
            getActivity().getActionBar().setTitle(mDrawerTitle);
            getActivity().invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
        }
    };
    // Set the drawer toggle as the DrawerListener
    mDrawerLayout.setDrawerListener(mDrawerToggle);
return v;
}
@Override
public void onPrepareOptionsMenu(Menu menu) {
    // If the nav drawer is open, hide action items related to the content view
    super.onPrepareOptionsMenu(menu);
}
@Override
public void setTitle(CharSequence title) {
    mTitle = title;
    getActivity().getActionBar().setTitle(mTitle);
}
/* The click listner for ListView in the navigation drawer */
private class DrawerItemClickListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        selectItem(position);
    }
}
/** Swaps fragments in the main content view */
private void selectItem(int position) {
    // Create a new fragment and specify the planet to show based on position
    if(position ==0)
    {
        FragmentManager fragmentManager = getFragmentManager();
        SettingsPageActivity settings = new SettingsPageActivity();
        Fragment fragment = settings.createFragment();
        fragmentManager.beginTransaction()
                .replace(R.id.content_frame, fragment)
                .commit();
    }
    // Insert the fragment by replacing any existing fragment
    // Highlight the selected item, update the title, and close the drawer
    mDrawerList.setItemChecked(position, true);
    mDrawerLayout.closeDrawer(mDrawerList);
}
}

Antwoord 1, autoriteit 100%

De klasse Fragmentof een van zijn superklassen lijkt niet de methode public void setTitle(CharSequence title)te hebben, dus je kunt de @Overrideannotatie. Je kunt die annotatie verwijderen en het zou goed moeten komen.


Antwoord 2

Het bovenstaande antwoord is correct, maar voeg alleen toe, controleer de spelling van uw overschrijvingsmethode. In het onderstaande geval kreeg ik dezelfde foutmelding omdat ‘OnPause()’ ‘onPause’ zou moeten zijn met een lagere ‘o’

@Override
protected  void OnPause(){      // OnPause should be onPause, get rids of the error
    super.onPause();
    mFirebaseAuth.removeAuthStateListener(mAuthStateListener);
}

Other episodes