从Fragment跳转到一个活动的问题
Fragment中活动跳转问题
最近在做一个APP,涉及用户登录界面。
说明:我“”对应一个my_fragment,my_fragment里点击一张图片进行登录,跳转到登录界面(为一个Empty Activety)。
我在Fragment 的 onCreate()方法中为图片添加了监听事件,运行安装之后发现点击下方的我的那个按钮,程序崩掉了。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ImageView user_login;
user_login=(ImageView)getActivity().findViewById(R.id.my_login);
user_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(getActivity(),LoginActivity.class);
startActivity(intent);
}
});
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
看的错误是空指针异常。
后来发现是要在my_fragment里面加一个下面这个方法就可以了。
原因: 活动创建之后才能对fragment中的控件进行实例化,对控件的实例化、对控件的操作要在这个方法中完成.
//活动创建之后才能对fragment中的控件进行实例化,对控件的实例化、对控件的操作要在这个活动中完成
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
user_login=(ImageView)getActivity().findViewById(R.id.my_login);
user_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(getActivity(),LoginActivity.class);
startActivity(intent);
}
});
}