无法解析片段中的getSupportActionBar()方法

Mik*_*e49 5 java android android-fragments

我有一个活动,它扩展了ActionBarActivity并托管了一个显示在这里的单个片段:

import android.support.v7.app.ActionBarActivity;

public class CrimePagerActivity extends ActionBarActivity{
Run Code Online (Sandbox Code Playgroud)

当我试图打电话时

getSupportActionBar()
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息,说无法解决.我试过传递

getActionBar() 
Run Code Online (Sandbox Code Playgroud)

在运行时产生NullPointerException错误.
这是有问题的代码.

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
                         @Nullable Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_crime, container, false);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){
        if(NavUtils.getParentActivityName(getActivity()) != null) {
            getActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        }
    }
Run Code Online (Sandbox Code Playgroud)

Mik*_*e49 17

通过强制转换getActivity()ActionBarActivity:解决了该问题:

((ActionBarActivity)getActivity()).getSupportActionBar()
Run Code Online (Sandbox Code Playgroud)


Kis*_*N R 5

我通过转换为AppCompatActivity解决了这个问题:

((AppCompatActivity)getActivity()).getSupportActionBar().setTitle("titile");
Run Code Online (Sandbox Code Playgroud)