Я бы предложил вам использовать мой метод для получения идентификатора ресурса. Это намного эффективнее, чем метод getIdentidier (), который медленный.
Вот код:
/**
* @author Lonkly
* @param variableName - name of drawable, e.g R.drawable.<b>image</b>
* @param с - class of resource, e.g R.drawable.class or R.raw.class
* @return integer id of resource
*/
public static int getResId(String variableName, Class<?> с) {
Field field = null;
int resId = 0;
try {
field = с.getField(variableName);
try {
resId = field.getInt(null);
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return resId;
}
Это звучит почти так, как если бы вы могли вывести петлю i
из function
и передать ее внутрь.
Например, если у вас было что-то вроде:
void someOtherFunction()
{
function();
}
void function(){
int x = 1;
for (int i = 0; i < 10; i++){
//Something happens here...
for (int j = 0; j < 10; j++){
//Something happens here...
array[0][x] += i;
//Recursion
function();
}
}
}
Вы могли бы изменить его на:
void someOtherFunction()
{
for (int i=0; i<10; ++i)
function(i);
}
void function(int i){
int x = 1;
//Something happens here...
for (int j = 0; j < 10; j++){
//Something happens here...
array[0][x] += i;
//Recursion
function(i);
}
}
, возможно, с более лучшим, более описательным именем для i
в этом случае .