我写了一个BaseFragment然后写了个Fragment继承自BaseFragment,但是我发现在onCreateView的时候总是显示的是空指针异常,相关报错日志我贴在下面,请大家帮忙看一下主要出错点在哪了呢?
我的报错如下:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.ViewGroup$LayoutParams android.view.View.getLayoutParams()' on a null object reference
其中我的BaseFragment如下:
/**
Fragmet基类
*/
public abstract class BaseFragment extends Fragment {
private View view;
private Context context;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//view = initView();
context = (Context) getActivity();
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
//setUserVisibleHint(true);
super.onActivityCreated(savedInstanceState);
}
public abstract void initView();
public abstract void initData();
public abstract void addListener();
}
我的一个Fragment继承了BaseFragment总是在这里报错:
我的Fragment代码如下:
public class MonitorCompanyDetailFragment extends BaseFragment {
private View view;
@BindView(R.id.rl_title_root)
public RelativeLayout rl_title_root;
@BindView(R.id.tv_title_name)
public TextView tv_title_name;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
try {
view = inflater.inflate(R.layout.fragment_monitor_company_detail, null,false);
initView();
initData();
}catch (Exception e){
e.printStackTrace();
}
return view;
}
@Override
public void initView() {
}
@Override
public void initData() {
UIUtils.zhuangtailan(getActivity(), rl_title_root);
tv_title_name.setText("企业基本信息");
}
@OnClick(R.id.iv_title_back)
public void onClickEvents(View view){
switch (view.getId()){
/**返回*/
case R.id.iv_title_back:
getActivity().finish();
break;
}
}
@Override
public void addListener() {
}
}
我的xml如下:
<?xml version="1.0" encoding="utf-8"?>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
android:id="@+id/rl_title_root"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen133">
android:id="@+id/iv_title_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/back_icon"
android:layout_centerVertical="true"
android:padding="@dimen/dimen30"/>
android:id="@+id/tv_title_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="标题"
android:textColor="@color/textcolor_title"
android:textSize="@dimen/dimen40"
android:layout_centerInParent="true"/>
android:layout_width="match_parent"
android:layout_height="@dimen/dimen1"
android:background="@color/textcolor_title_line"
android:layout_alignParentBottom="true"/>
<!--
<!--android:id="@+id/rl_title_root"-->
<!--layout="@layout/layout_title" />-->
<LinearLayout
android:id="@+id/ll_company_name"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen44"
android:layout_weight="1"
android:text="企业名称"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dimen44"
android:text="XXX"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/dimen1"
android:background="@color/tab_title" />
<LinearLayout
android:id="@+id/ll_company_address"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen44"
android:layout_weight="1"
android:text="企业地址"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dimen44"
android:text="XXX"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/dimen1"
android:background="@color/tab_title" />
<LinearLayout
android:id="@+id/ll_company_admin"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen44"
android:layout_weight="1"
android:text="行政区"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dimen44"
android:text="XXX"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/dimen1"
android:background="@color/tab_title" />
<LinearLayout
android:id="@+id/ll_company_degree"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen44"
android:layout_weight="1"
android:text="关注程度"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dimen44"
android:text="XXX"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/dimen1"
android:background="@color/tab_title" />
<LinearLayout
android:id="@+id/ll_company_kind"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen44"
android:layout_weight="1"
android:text="单位类型"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dimen44"
android:text="XXX"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/dimen10"
android:background="@color/tab_title" />
<LinearLayout
android:id="@+id/ll_company_legal"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen44"
android:layout_weight="1"
android:text="法人姓名"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dimen44"
android:text="XXX"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/dimen1"
android:background="@color/tab_title" />
<LinearLayout
android:id="@+id/ll_company_protect"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen44"
android:layout_weight="1"
android:text="环保负责人"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dimen44"
android:text="XXX"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/dimen1"
android:background="@color/tab_title" />
<LinearLayout
android:id="@+id/ll_company_contacts"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen44"
android:layout_weight="1"
android:text="联系人"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dimen44"
android:text="XXX"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/dimen1"
android:background="@color/tab_title" />
<LinearLayout
android:id="@+id/ll_company_phone"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen44"
android:layout_weight="1"
android:text="联系电话"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dimen44"
android:text="XXX"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/dimen1"
android:background="@color/tab_title" />
<LinearLayout
android:id="@+id/ll_company_tel"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen100"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen44"
android:layout_weight="1"
android:text="移动电话"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dimen44"
android:text="XXX"
android:textColor="@color/search_mind_line"
android:textSize="@dimen/dimen38" />
</LinearLayout>
在线等着,希望各路大神提供解决思路啊
整个项目代码就这么多?好,我运行一下。。。
你用的什么注解? Butterknife 吗 你只绑定了控件ID, 怎么 没看到你 初始化 控件呢
没调用ButterKnife.bind()么
你的基类 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//view = initView();
context = (Context) getActivity();
return view;
} view 并没有初始化, 所以肯定是空指针
你可以
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//view = initView();
context = (Context) getActivity();
int layoutResId = getCreateViewLayoutId();
if (layoutResId > 0){
view = inflater.inflate(getCreateViewLayoutId(), container, false);
}
return view;
}
public abstract int getCreateViewLayoutId();