如何刷新Gallery Media以在GridView中显示新文件?

时间:2015-08-18 23:13:02

标签: android android-activity gridview video camera

我有一个包含3个片段的活动:

  1. 摄像机
  2. 图片
  3. 我想在我的gridview上显示要更新的新录制视频,我该如何实现这一结果?

    public class VideoFragment extends Fragment {
    
    public Cursor cursor;
    public int columnIndex;
    String VideoPath;
    View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.activity_videos, container, false);
        getVideos();
        return view;
    }
    
    public void getVideos(){
        String[] projection = {MediaStore.Video.Thumbnails._ID};
        cursor = getActivity().managedQuery(MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI, projection, null, null,
                 MediaStore.Video.Thumbnails.VIDEO_ID);
        columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Video.Thumbnails._ID);
        GridView VideoImages = (GridView) view.findViewById(R.id.VideoGrid1);
        VideoImages.setAdapter(new VideoAdapter(getActivity()));
        VideoImages.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String[] VideoData = {MediaStore.Video.Media.DATA};
                cursor = getActivity().managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, VideoData, null,
                        null,
                        null);
                columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
                cursor.moveToPosition(position);
                VideoPath = cursor.getString(columnIndex);
            }
        });
    
    }
    

1 个答案:

答案 0 :(得分:0)

使用adapter.notifydatasetchanged()。这将更新网格元素。将adapter更改为gridview adapter name