有多张图片的幻灯片吗?

2022-04-17 00:00:00 android java slideshow

我想在幻灯片上制作不同图片的应用程序,我的代码如下:

    @NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
    inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.swipe, container, false);

    ImageView imageView = view.findViewById(R.id.swipe_imageView);
    TextView textView = view.findViewById(R.id.swipe_textView);

    if (CustomAdapterList.titleForOther.equalsIgnoreCase("Vers la lune"))
    {
        imageView.setImageResource(vers[position]);
    }
    else {
        imageView.setBackgroundResource(image[position]);
    }

    textView.setText(CustomAdapterList.titleForOther + "");

    container.addView(view);

    return view;
}

当我运行我的应用程序并点击"vers la lune"标题时,我的应用程序崩溃,错误显示:

java.lang.OutOfMemoryError: Failed to allocate a 298650252 byte allocation with 12571136 free bytes and 238MB until OOM
    at dalvik.system.VMRuntime.newNonMovableArray(Native Method)

错误来自行:

imageView.setImageResource(vers[position]);

我的清单代码如下:

<application
    android:allowBackup="true"
    android:hardwareAccelerated="false"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="false"
    android:theme="@style/AppTheme"
    android:largeHeap="true">

解决方案

这可能会起作用。 添加此

 android:largeHeap="true" 

在Manifest.xml文件中。在应用程序标记中。

相关文章