本来想实现点击“售后服务”这一块的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的基础