我有一个applet,其主要活动显示一个填充了电影海报图像的gridView。单击图像时,将调用显示有关该电影的其他详细信息的意图。电影信息从电影api下载并通过sqlite数据库保存到硬存储。 gridView通过加载器填充。
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
mRecyclerView = (RecyclerView) rootView.findViewById(R.id.my_recycler_view);
// use this setting to improve performance if you know that changes
// in content do not change the layout size of the RecyclerView
mRecyclerView.setHasFixedSize(true);
// use a grid layout manager
mRecyclerView.setLayoutManager(new GridLayoutManager(getContext(), (returnScreenSize()) ? 2 : numberOfColumns()));
View emptyView = rootView.findViewById(R.id.recyclerview_empty);
mAdapter = new MovieAdapter(getActivity(), new MovieAdapter.MovieOnClickHandler() {
@Override
public void onClick(long id ,MovieAdapter.MovieViewHolder vh, int api) {
((Callback) getActivity())
.onItemSelected(MovieContract.MovieEntry.buildMovieUri(id+1), api);
}
}, emptyView);
// specify an adapter (see also next example)
mRecyclerView.setAdapter(mAdapter);
return rootView;
这是在活动中嵌入的片段中使用onCreateView()的代码。 MainFragment显示所有海报图像都很好,因此将省略此片段中onLoadFinisihed()的代码。请注意,在onClick()方法中,调用onItemSelected()方法,该方法应返回Detail Activity在onLoadFinished()中使用的uri。当我记录uri时,格式看起来是正确的,
内容://com.example.damienmiller.reely.app/Movie_Info/#
但返回多行(返回所有行)。如何确保发送到Details Fragment的uri使用我的应用程序中sqlite数据库中的附加ID号返回一行?