2014-12-11 4 views
3

Я хочу использовать пользовательскую панель действий с фрагментом title.but, этот метод отображает только имя приложения для всех фрагментов. Мне нужно использовать соответствующее имя фрагмента в панели действий.Отображение заголовка фрагмента в пользовательской панели действий

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); 
+0

установить нужный текст в TextView пользовательского вида как: '((TextView) v.findViewById (R.id.title)) .setText ("name_you_want"); ' –

+0

Вам нужно указать желаемое имя для каждого действия во время вызова активности на панели действий. – GrIsHu

+0

thankyou :) @SweetWisher –

ответ

0

Вам просто нужно определить метод, который будет обновлять заголовок панели действий и вызвать этот метод из когда-либо деятельности/фрагмента onResume()

В деятельности:

@Override 
public void onResume() { 

    // For activity 
    setActionbarTitle("title"); 

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

setActionbarTitle Метод:

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

И инициализировать textTitle при установке настраиваемого представления в ActionBar:

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

Надеется, что это поможет вам ツ

Смежные вопросы