在我的Android应用中,我正在遍历一系列位置并为每个项目添加地图标记。我想为数组中的每个项目使用不同的标记图标。位置数组中有30个项目和30个不同的图标。图标文件名为icon1.png,icon2.png,icon3.png等。
我的代码如下:
for (int i = 1; i < myArray.size(); i ++) {
marker = mMap.addMarker(new MarkerOptions()
.position(myArray.get(i))
.title("Marker " + i)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon1)));
}
如何为每次迭代设置R.drawable.icon1?即R.drawable.icon(i)
答案 0 :(得分:1)
您只需查找具有该名称的资源,例如:
int resourceId=Resources.getSystem().getIdentifier(pDrawableName, "drawable", "android");
if(resourceId==0){
return null;
} else {
return Resources.getSystem().getDrawable(resourceId);
}
你可以用作pDrawableName: pDrawableName =“icon”+ i;
注意你的循环,它从i = 1开始,所以你缺少“0”元素(你也应该有一个'icon0'可绘制)。