我正在尝试使用 ViewPager 通过 FragmentPagerAdapter 滑动一组图像。因此,我的片段的每个实例都将显示一个图像。
我将在下面描述我对该方法的理解:
在我的适配器内,我有这种方法来选择正确的片段:
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return FirstImageFragment.newInstance(mImages[0]);
case 1:
return MiddleImageFragment.newInstance(mImages[1]);
case 2:
return LastImageFragment.newInstance(mImages[2]);
default:
return null;
}
}
现在在我的片段中,我应该实现静态方法 newInstance()以某种方式保存图像,该图像将在片段被实例化时在 onCreate()中获得。 Android。
根据我在其他答案中所读的内容,在片段内传递该图像的唯一两种方法是:
将其保存到 newInstance()(bundle.putParcelable("image", image)
)
将图像保存在媒体文件夹中的私人文件中,以便以后检索。
我的问题是:
第一种方法是否始终可行? (考虑到图像可能很大。我读到捆绑包的上限为1MB)
如果要处理大图像,第二种方法是否效率很低?我是否需要将每个图像(使用不同的文件名)保存在内部存储器中,以便稍后通过 onCreate()进行检索?
是否可以仅传递URI或适配器的列表中具有的某种图像的唯一ID /字符串?