2017-03-02 83 views
0

我想在适当的最小整数值时做一些说明。例如:当变量“round_min”= 10 - >有一些指令。当“round_min”= 100时 - >有另一条指令。HashMap:它在TextView中显示最小值,但min_variable有更多值

我试着实现在HashMap中找到最小值的函数。 例如:我在HashMap中有两个元素。并且找到最小值,并且正确显示在TextView中。

但是,当我想要使用这个变量“round_min”到另一个函数时,在hashmap中显示了所有的值。我想始终保持最低限度。

下面我将介绍代码:

int round_min; 

// nearestDistances is a hashmap where I put distances 
Map.Entry<String, Float> nearestMarker = null; 

for (Map.Entry<String, Float> entry : nearestDistances.entrySet()) {  
    if (nearestMarker == null || nearestMarker.getValue() > entry.getValue()) { 
     nearestMarker = entry; 
     round_min = Math.round(nearestMarker.getValue()); 
     Log.e(" MIN ", round_min + ""); 

     // it displays in log.e all values 

     // this function see all values, not only minimum 
     DisplayMinimumValue(getApplicationContext(), round_min); 
     Log.e(" ROUND MIN ", round_min + ""); 

     tvDistanceToNearest.setText(String.valueOf(round_min)); // there is displaying only minimum value 
    } 
} 

有人能帮助我找到的问题,以及如何用它弄清楚?

回答

1

把所有的线

// this function see all values, not only minimum 
    DisplayMinimumValue(getApplicationContext(), round_min); 
    Log.e(" ROUND MIN ", round_min + ""); 

    tvDistanceToNearest.setText(String.valueOf(round_min)); // there is displaying only minimum value 

末,经过第二}让您在循环外

+0

谢谢。有用 :) – gryzek

1

因为我还不能评论...我不确定你的问题是什么。如果您在地图中遇到较小的值,我发现您正在更新您的round_min变量。我也看到你有一些在迭代中使用这个变量的方法。该计划的哪部分不是像你想要的那样行事?

+0

当我使用方法:“DisplayMinimumValue(背景下,round_min)它让我在所有的值我不明白为什么它不能显示最小值,但是当我在我的应用程序中使用tvDistanceToNearest(TextView)时,它只显示了textView中的最小值,我希望在将“round_min”上面的方法将只有一个minum值,现在把所有的值都放到hashmap中,如何解决它? – gryzek

+0

DisplayMinimumValue用于insi你的循环,它会显示任何值min_round分配给,所以每次更新。如果你只想显示最后的最小值,你必须在循环之外调用它。 –

+0

是的,它帮助。但我只能标出一个正确的答案。也谢谢你的帮助。问候:) – gryzek