Как отобразить жесты из библиотеки в виде растрового изображения? - PullRequest
0 голосов
/ 21 марта 2011

Мне нужно отобразить библиотеку жестов в виде растровых изображений. Код ниже - это то, что у меня есть, но, похоже, оно не работает. Я получаю сообщение об ошибке в 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))

                {

1 Ответ

0 голосов
/ 21 марта 2011

Ошибка в основном пытается сказать вам, что список растровых изображений пуст.Итак, прежде всего, проверьте размер списка:

if( theList.size() > 0 ){
    int rand = (int)(Math.random()*theList.size());
    Bitmap element = theList.get(rand);
    imagetemp.setImageBitmap(element);
    gestures.addView(imagetemp);
}

И отладьте первую часть вашего кода, чтобы увидеть, почему ваш список не заполняется растровыми изображениями.

...