我有一个包含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);
}
});
}
答案 0 :(得分:0)
使用adapter.notifydatasetchanged()
。这将更新网格元素。将adapter
更改为gridview adapter name
。