HashMap<String,Integer> file_maps = new HashMap<String, Integer>();
file_maps.put("M/S 1",R.drawable.rs1);
file_maps.put("M/S 2",R.drawable.rs2);
file_maps.put("M/S 3",R.drawable.rs3);
file_maps.put("M/S 4",R.drawable.rs4);
for(String name : file_maps.keySet()){
TextSliderView textSliderView = new TextSliderView(this);
// initialize a SliderLayout
textSliderView
.description(name)
.image(file_maps.get(name))
.setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener(this);
mDemoSlider.addSlider(textSliderView);
我使用这段代码,假设第一个图像出现的是rs1,第二个rs2,第三个rs3和最后一个rs4 ..
但问题是图像rs3将首先显示,第二个rs4,第三个rs1和最后一个rs2 ..
那么我怎么能解决这个问题呢?或者知道为什么会出现这个问题..?
答案 0 :(得分:1)
而不是
HashMap file_maps = new HashMap();
使用
HashMap file_maps = new LinkedHashMap();
HashMap 绝对不保证迭代顺序。当添加新元素时,它甚至可以(并且将会)完全改变。
LinkedHashMap 将按照条目放入地图的顺序进行迭代