【发布时间】:2018-03-28 18:31:14
【问题描述】:
上一个问题:
我可以知道为什么当我尝试启动 RecyclerView 活动从片段进行搜索时会出现此错误。
添加适配器后:
错误:在空对象引用上的 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;
}
【问题讨论】:
-
使用给定的代码,
adapter为空,因此在布局时,Adapter实际上没有附加到RecyclerView。 -
我确实喜欢这个适配器 = new SearchAdapter(getContext(),mOwnerDao.getOwner());但似乎无法获取数据库对象
-
不知道你说的“无法获取数据库对象”是什么意思。
-
当我点击开始活动时,错误是(OwnerDAO.getOwner()' on a null object reference)
-
看起来异常不会来自您问题中的代码。
标签: android android-studio android-fragments android-recyclerview