如何通过在片段之间切换来更改Actionbar标题

时间:2015-04-10 09:20:45

标签: android android-fragments android-actionbar

当应用程序启动时,我有一个带有两个片段的应用程序Actionbar标题是第一个片段之一。但是当我要去第二个片段时,标题不会改变。

那么如何更改ActionBar标题?

这是我的代码:

public class ClientList extends Fragment {

    @Override
    public void onResume() {
        super.onResume();
        String title;
        title = getResources().getString(R.string.client_title);
        ActionBarActivity action = ((EmployeeActivity)getActivity());
        action.getSupportActionBar().setTitle(title);

    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        String title2;
        title2 = getResources().getString(R.string.action_settings);
        ActionBarActivity action = ((EmployeeActivity)getActivity());
        action.getSupportActionBar().setTitle(title2);

    }
}

4 个答案:

答案 0 :(得分:1)

您可以将onCreate(如果活动)/ onCreateView(如果片段)方法中的操作栏标题设置为getSupportActionBar().setTitle("Your Title");

答案 1 :(得分:0)

所以如果你说你无法从onCreateView找到方法,那么我认为这是你的解决方案:

@Override
   public View onCreateView(LayoutInflater inflater, 
                  ViewGroup container, Bundle savedInstanceState) {         
          View view =  inflater.inflate(R.layout.my_fragment,
                          container, false);
          getActivity().setTitle("Title"); 
          return view;
  }

因为如果您在致电return之前setTitle()无法联系到它,那就是真的。 希望它有所帮助。

答案 2 :(得分:0)

这应该有效:

getActivity().setTitle(YOUR_TITLE);

当你想要设置时,从你的片段中调用它。

答案 3 :(得分:0)

每当您从一个片段切换到另一个片段时,您可以在ActionBar中设置标题。这可以在片段的onCreateView(...)上完成。建议尝试更改您尝试加载片段的Activity中的名称。 这样做....

如果您使用的是appcompat库

ActionBar actionBar = getSupportActionBar(); actionBar.setTitle(" your title ");

如果您不使用appcompat库

ActionBar actionBar = getActionBar(); actionBar.setTitle(" your title ");