简体   繁体   中英

Showing Fragment title in custom Actionbar

i want to use custom actionbar with fragment title.but this method only display application name for all fragments.i need to use appropriate fragment name in actionbar.

 getActivity().getActionBar().setDisplayShowCustomEnabled(true);
            getActivity().getActionBar().setDisplayShowTitleEnabled(false);

         LayoutInflater inflator = LayoutInflater.from(getActivity());
         View v = inflator.inflate(R.layout.title, null);
         //if you need to customize anything else about the text, do it here.
         //I'm using a custom TextView with a custom font in my layout xml so all I need to do is set title

         ((TextView)v.findViewById(R.id.title)).setText(getActivity().getTitle());

         //assign the view to the actionbar
         getActivity().getActionBar().setCustomView(v);

You just need to define a method which will update the title of action bar and call that method from ever activity / Fragment's onResume()

In activity :

@Override
public void onResume() {

    // For activity
    setActionbarTitle("title"); 

    // For Fragment
    ((ParentActivtyNAme)getActivty).setActionbarTitle("title");
}

setActionbarTitle Method :

public void setActionbarTitle(String title) {
    textTitle.setText(title);
}

And initialize textTitle when you set Custom View in Actionbar :

 textTitle= ((TextView)v.findViewById(R.id.title));

Hope it helps you ツ

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM