Android двоичное XML исключение при смене картинок

1

Я разрабатываю приложение для Android, это о многоязычной истории. В этом приложении я могу переключиться с языка на другой. Конечно, это приложение содержит несколько изображений и текстов. На арабском языке некоторые фотографии нужно перевернуть, в следующем коде я просматриваю 4 изображения:

if (i == 0) {
    rightImages[i].setImageResource(R.drawable.coverar);
}
if (i == 1) {
    rightImages[i].setImageResource(R.drawable.page1ar);
}
if (i == 4)// for the arabic flipped pages
{
    rightImages[i].setImageResource(R.drawable.page6_flipped);
    leftImages[i].setImageResource(R.drawable.page7_flipped);

}
if (i == 8)// for the arabic flipped pages
{
    rightImages[i].setImageResource(R.drawable.page14_flipped);
    leftImages[i].setImageResource(R.drawable.page15_flipped);
}

if (i != 4 && i != 8) {
    linLay[i].removeAllViews();
    linLay[i].addView(rightImages[i]);

    linLay[i].addView(leftImages[i]);
}

Это сбой, и это дает мне следующую ошибку:

android.view.InflateException : Binary XML file line #26: Error inflating class <unknown>

Странно, что он не сработает, когда я сменил page6_flipped, page7_flipped, page14_flipped, page15_flipped to page6, page7, page14, page15.

Обратите внимание, что я использую издание галактики 10.1 2014 в таблетке, с другой стороны, это не сбой на других планшетах (Samsung P7500 Galaxy Tab 10.1, toshiba at7-a, samsung galaxy tab 3 10.1).

Любая помощь пожалуйста?

Теги:
inflate-exception

2 ответа

1
Лучший ответ

Изображения большие по размеру, поэтому почему вы получаете исключение для раздувания в макете инфлятора в imageView, попробуйте сделать ваши изображения небольшими и перед заменой set null в imageview (он автоматически вызовет GC). и в теге приложения вашего манифеста файл, добавьте следующую строку:

android:Largeheap = "true"
  • 0
    Большое вам спасибо, это сработало!
  • 0
    рад помочь :)
0

Сообщение об ошибке вводит в заблуждение, и сразу можно было бы подумать, что что-то не так в файле макета XML. Хотя иногда может быть и причина, наиболее очевидной причиной этого является то, что у вас есть большие изображения, размещенные только в одной доступной папке.

  • 0
    Ну, я использую 10 "планшет, поэтому я поместил изображения в папку drawable-sw700dp и попытался поместить их в папку drawable, но во всех случаях происходит сбой приложения
  • 0
    Попробуйте добавить одни и те же изображения во все папки для рисования независимо от того, были ли они изменены в меньшем разрешении или нет. По крайней мере, операционная система Android просто сразу подхватит изображения без необходимости соответственно изменять их размер.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню