空指针挣扎数周

时间:2016-10-18 20:11:15

标签: android nullpointerexception

这段代码给我一个空指针,请帮我解决。

private void homeFragment(Profile profile) {
    if (profile != null) {
        Bundle mBundle = new Bundle();
        mBundle.putParcelable(PARCEL_KEY, profile);
        HomeFragment hf = new HomeFragment();
        hf.setArguments(mBundle);

        FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager
                .beginTransaction();
        fragmentTransaction.replace(R.id.mainContainer, new HomeFragment());
        fragmentTransaction.commit();
    }
}

1 个答案:

答案 0 :(得分:0)

您正在编写的代码应该在类似于以下的类中:

import android.support.v4.app.FragmentActivity;
public class YourFragmentActivity extends FragmentActivity

然后getSupportFragmentManager()在没有getActivity()的情况下可见,例如

getSupportFragmentManager().beginTransaction().replace(R.id.frame_container, mBullet_frag).commit();

您必须在最终版本中包含v4库(只需在sdk中找到它并将其放在项目的libs文件夹中)。

如果您遵守所有规则,这将有效。

当然可能你不打算使用getSupportFragmentManager()但想要标准的(getFragmentManager())。在这种情况下,您不需要v4库或引用它。