Мне нужно отобразить библиотеку жестов в виде растровых изображений. Код ниже - это то, что у меня есть, но, похоже, оно не работает. Я получаю сообщение об ошибке в Logcat при каждом запуске программы.
sStore = GestureLibraries.fromRawResource(this, R.raw.gestures_alph);
int i = 0;
for (String name : sStore.getGestureEntries())
{
for (Gesture gesture : sStore.getGestures(name))
{
Bitmap bitmap = gesture.toBitmap(mThumbnailSize, mThumbnailSize, mThumbnailInset, mPathColor);
theList.add(i,bitmap);
i++;
}
}
int rand = (int)(Math.random()*theList.size());
Bitmap element = theList.get(rand);
imagetemp.setImageBitmap(element);
gestures.addView(imagetemp);
}
Ошибка, которую я получаю, показана ниже. Она говорит, что в массиве нет ничего, поэтому, вероятно, это цикл for.
ОШИБКА / AndroidRuntime (8258): обработчик Uncaught: выход из основного потока из-за необработанного исключения
ОШИБКА / AndroidRuntime (8258): java.lang.RuntimeException: невозможно запустить действие. ComponentInfo {com.menu.sample / com.menu.sample.ImageTest}: java.lang.IndexOutOfBoundsException: недопустимое расположение 0, размер 0
java.util.ArrayList.get (ArrayList.java:341)
Исправлена ошибка
Библиотека должна была быть загружена первой.
if (sStore.load()){
for (String name : sStore.getGestureEntries()) {
for (Gesture gesture : sStore.getGestures(name))
{