2009-04-10 2 views
5

У меня есть файл XML, в котором хранятся массивы шорт в моих ресурсах. Мне нужно назначить этот массив, но Android API предоставляет только способ получения массива ints (getResources.getIntArray()). Я закончил тем, что получил массив ints и преобразовал его в массив шорт позже, но это вряд ли идеально.Как эффективно получить короткий массив из ресурсов на Android?

Есть ли способ получить массив шорт из ресурсов Android? Если нет, существует ли более эффективный/чистый способ преобразования массива int в короткий массив? Мой код в настоящее время выглядит так:

int indicesInt[] = context.getResources().getIntArray(R.array.indices); 
short indices[] = new short[indicesInt.length]; 
for (int i = 0; i < indicesInt.length; i++) { 
    indices[i] = (short)indicesInt[i]; 
} 

ответ

2

Невозможно напрямую получить массив шорт AFAIK. Было бы полезно посмотреть, можете ли вы использовать int[] вместо своего short[]. Если вы используете библиотеку или что-то еще и не можете изменить это требование, ваш пример - это лучший способ сделать это. Будьте осторожны с возможным переполнением.

Смежные вопросы