美文网首页
Android数据库查询图片在RecyclerView,并为其添

Android数据库查询图片在RecyclerView,并为其添

作者: Avalon1 | 来源:发表于2020-03-26 15:27 被阅读0次

    使用到知乎的Matisse,在其原有基础上添加查询指定相册的图片

      /**
         * 根据bucket_display_name 查找图片
         */
        private static final String SELECTION_FOR_DIRECTORY_IMG =
                MediaStore.Files.FileColumns.MEDIA_TYPE + "=?"
                        + " AND " + MediaStore.MediaColumns.SIZE + ">0"
                        + " AND  bucket_display_name= ? "
                        + ") GROUP BY (bucket_id";
    

    这样就能在onAlbumLoad回调中拿到查询结果的cursor了、继续使用知乎的RecyclerViewCursorAdapter,常规的RecyclerView想要为其添加header在0的位置插入一条headertype 的对象就行。因为这里是直接拿我们的cursor去构建的Adaper。所以考虑在修改cursor的数据源。
    经过查询得知这样的需求可以通过MergeCursor实现:

     /**
                     * 新增一条数据作为tips 的header
                     */
                    val dummy = MatrixCursor(AlbumMediaLoader.PROJECTION)
                    dummy.addRow(arrayOf(Item.ITEM_ID_TIPS, Item.ITEM_DISPLAY_NAME_CAPTURE, "image/jpeg", 0, 0))
                    val mergeCursor = MergeCursor(arrayOf(dummy, cursor))
                    adapter?.swapCursor(mergeCursor)
    

    这样就完成了

    相关文章

      网友评论

          本文标题:Android数据库查询图片在RecyclerView,并为其添

          本文链接:https://www.haomeiwen.com/subject/xwjcuhtx.html