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

时间:2015-03-11 01:52:55

标签: java android android-fragments

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

import android.support.v7.app.ActionBarActivity;

public class CrimePagerActivity extends ActionBarActivity{

当我尝试拨打

getSupportActionBar()

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

getActionBar() 

在运行时产生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);
        }
    }

2 个答案:

答案 0 :(得分:16)

通过将getActivity()的回复转换为ActionBarActivity来解决问题:

((ActionBarActivity)getActivity()).getSupportActionBar()

答案 1 :(得分:5)

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

((AppCompatActivity)getActivity()).getSupportActionBar().setTitle("titile");