Android:如何在片段中重新创建(或刷新)gridview

Android:如何在片段中重新创建(或刷新)gridview,android,gridview,android-fragments,android-arrayadapter,Android,Gridview,Android Fragments,Android Arrayadapter,我正在构建一个类似图库的应用程序。它由显示照片缩略图的栅格视图和拍摄新照片的按钮组成。为了获得手机上图像的缩略图,我在片段中使用了ArrayAdapter,并将其设置为gridview 问题是,当我拍摄照片并将其扫描到Android内容解析程序时,它不会立即显示在gridview中。我必须旋转屏幕或退出应用程序并重新打开应用程序,以便重新创建片段,并在图库中显示新照片的缩略图 我是否可以强制片段重新启动,或者强制适配器重新设置 我尝试在该片段的活动中调用mAdapter.setAdapter,但

我正在构建一个类似图库的应用程序。它由显示照片缩略图的栅格视图和拍摄新照片的按钮组成。为了获得手机上图像的缩略图,我在片段中使用了ArrayAdapter,并将其设置为gridview

问题是,当我拍摄照片并将其扫描到Android内容解析程序时,它不会立即显示在gridview中。我必须旋转屏幕或退出应用程序并重新打开应用程序,以便重新创建片段,并在图库中显示新照片的缩略图

我是否可以强制片段重新启动,或者强制适配器重新设置

我尝试在该片段的活动中调用mAdapter.setAdapter,但不允许,错误如下:

android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

适配器的基础数据集更改后,您需要调用mAdapter.notifyDataSetChanged来更新GridView。

然后我必须保留适配器的实例。我以以下方式设置适配器:mGridView.setAdapternew ArrayAdapterItems;。如果需要调用notifyDataSetChanged,是否必须将代码更改为ArrayAdapter adapter=new ArrayAdapterItems;mGridView.setAdapteradapter;这样我就可以调用函数适配器。notifyDataSetChanged?好的,它可以工作。基本上我所做的是1保留ArrayAdapter的一个实例2将图像重新扫描到mItems,3然后调用adapter.notifyDataSetChanged。