2017-03-02 6 views
0

適切な最小整数値があるときにいくつかの指示をしています。たとえば、変数 "round_min" = 10 - >いくつかの指示があります。 "round_min" = 100 - >別の命令があるとき。HashMap:TextViewに最小値を表示しますが、min_variableにはより多くの値があります。

ハッシュマップで最小値を見つける関数を実装しようとしています。 例:HashMapには2つの要素があります。そして、最小値を見つけることができ、TextViewに正しく表示されています。

しかし、この変数 "round_min"を別の関数に使用する場合は、すべての値がhashmapに表示されます。私はいつも最小限にしたい。

I以下

がコードを提示:

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の最小値のみを表示します。上記の方法ではminum値は1つしかありませんが、今度はhashmapからすべての値を入れます。修正方法 – gryzek

+0

DisplayMinimumValueはinsiで使用されていますあなたのループは、それが更新されるたびにmin_roundに割り当てられた値を表示します。最後の最小値を表示したい場合は、ループの外側でそれを呼び出す必要があります。 –

+0

はい、助けました。しかし、私は正しい答えを一つだけマークすることができます。あまりにも助けてくれてありがとう。よろしく:) – gryzek

関連する問題