Fragment中点击事件跳转活动报错

本来想实现点击“售后服务”这一块的Linearlayout跳转到Guarantee这个活动当中这一功能
public class ThirdFragment extends Fragment implements View.OnClickListener{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.third_fragment, container, false);
LinearLayout guaranteell = (LinearLayout) view.findViewById(R.id.serviceGuaranteeId);
guaranteell.setOnClickListener(this);
return view;
}
@Override
public void onClick(View view){
MainActivity mainActivity = new MainActivity();
Intent intent = new Intent(mainActivity, Guarantee.class);
startActivity(intent);
//Toast.makeText(mainActivity, "you clicked this", Toast.LENGTH_SHORT).show();
}
}

图片说明
但是报错java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference

图片说明

fragment里面可以直接getActivity(),来获取Activity的引用,应该是new MainActivity造成的空指针异常

Fragmen要依附于Activity,你要拿到当前Fragment依附的那个Activity才能当作上下文使用,怎么能直接new

Intent intent = new Intent(getActivity, Guarantee.class);
getContext.startActivity(intent);

MainActivity mainActivity = new MainActivity();
这种写法是拿不到context的,直接getActivity()就好了

http://blog.csdn.net/u014727709/article/details/53671123

你对上下文的理解不够透彻,加强一下Java的基础和android的基础