Android 应用程序空对象引用
上一个问题:Android 应用程序空对象引用,android,android-studio,android-fragments,android-recyclerview,Android,Android Studio,Android Fragments,Android Recyclerview,上一个问题: 请问,当我尝试启动RecyclerView活动从片段进行搜索时,为什么会出现此错误 添加适配器后: 错误:null对象引用上的OwnerDAO.getOwner() 片段代码: RecyclerView recyclerView; RecyclerView.LayoutManager layoutManager; SearchAdapter adapter; OwnerDAO mOwnerDao; public View onCreateView(LayoutI
请问,当我尝试启动RecyclerView活动从片段进行搜索时,为什么会出现此错误 添加适配器后: 错误:null对象引用上的OwnerDAO.getOwner() 片段代码:
RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;
SearchAdapter adapter;
OwnerDAO mOwnerDao;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.activity_search, container, false);
recyclerView = (RecyclerView)v.findViewById(R.id.recycler_search);
layoutManager = new LinearLayoutManager(this.getActivity());
mOwnerDao = new OwnerDAO(getContext())
adapter = new SearchAdapter(getContext(),mOwnerDao.getOwner());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
recyclerView.setAdapter( adapter );
return v;
}
搜索适配器:
public SearchAdapter(Context context, List<Owner> owners) {
this.context = context;
this.owners = owners;
}
publicsearchAdapter(上下文,列表所有者){
this.context=上下文;
这个。所有者=所有者;
}
在setAdapter
之后设置layoutManager
,如下所示:-
recyclerView.setAdapter( adapter );
recyclerView.setLayoutManager(layoutManager);
错误将被删除 对于给定的代码,
adapter
为空,因此在部署RecyclerView
时,实际上没有任何adapter
附加到它;但是它似乎无法获取数据库对象我不知道你所说的“它无法获取数据库对象”是什么意思。当我单击启动活动时,错误是(OwnerDAO.getOwner()’在一个空对象引用上)。似乎该异常不会来自你所问的代码。