我有很多文本文件,想把它们放在for循环中。
我从上次活动获得了一个具有资源名称的Extra 并有一个资源名称为的数组 原始资源中的文本文件来自{d0,d1,d2,d3,...,d79} 我想检查名称和数组名称,并将查找名称放入资源! 我有错误(res = R.raw。(d [i])) 我的代码:
int res = 0;
for (int i = 0; i <=79; i = i + 1) {
if (s.equals(d[i])){
res=R.raw.(d[i])
}
}
inputstream = getResources().openRawResource(res);
答案 0 :(得分:3)
您可以使用getIdentifier (String name, String defType, String defPackage)动态获取资源ID,
ArrayList<Integer> id = new ArrayList<Integer>();
for (int i = 0; i <= 79; i++) {
id.add(getResources().getIdentifier("d"+i, "raw", getPackageName()));
}
现在,您将拥有id ArrayList
中的所有资源id答案 1 :(得分:0)
我需要在一个地方找到6种不同的资源。
try
{
for (int i = 0; i < 6; i++ )
{
String fname = "p" + i;
int id = context.getResources().getIdentifier(fname, "drawable", "com.example.yourproject");
if (id == 0)
{
Log.e(TAG, "Lookup id for resource '"+fname+"' failed");
// graceful error handling code here
}
scoresBm[i] = (Bitmap) BitmapFactory.decodeResource(context.getResources(), id);
}
}
catch(Exception E)
{
}