使用uri

时间:2016-07-06 15:37:47

标签: android uri android-contentprovider loader

我有一个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号返回一行?

0 个答案:

没有答案