2015-02-10 1 views
0

Должно быть, я должен использовать от 0 до 300 для поиска по минимальному и максимальному значению соответственно.Изменить описание прогона для поиска (преобразование с плавающей точкой в ​​int)

Но чтобы показать свой прогресс в TextView от -15 до 15.

-15(seekmin)------------0(middle)---------------15(seekmax) 

0(seekmin)-------------150(middle)-----------300(seekmax) 

Я кодироваться как

@Override 
public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) 
{ 
    int val = Math.round((float) (progress/10.0)) -15; 

    eqTextView[i].setText(String.valueOf(progress)); 

    Log.e("SeekTest", "ing " + progress + "VAL is" + val); 
} 

вал должен показывать от -15 до 15, но он показывает -15 до 285. Я знаю, что моя логика правильная, но проблема превращает ее в int.

+0

eqTextView [i] .setText (String.valueOf (val)); ? –

+0

Я знаю, но я тестирую его в журнале. @ Вишнудев К. – Nepster

ответ

1

Я взял на себя смелость переписать метод onProgressChanged. Я его не тестировал, но это должно сработать.

@Override 
public void onProgressChanged(SeekBar seekBar , int progress , boolean arg2) 
{ 

    float ratio = (float)progress/(float)seekBar.getMax(); 

    int fromMinus15ToPlus15 = Math.round(ratio * 30 - 15); 
    int fromZeroTo300 = Math.round(ratio * 300); 

    eqTextView[i].setText(String.valueOf(fromMinus15ToPlus15)); 

    Log.e("SeekTest", "ing " + progress + "VAL is" + fromMinus15ToPlus15); 
} 
+0

любезно объясните немного и скажите, где я ошибаюсь. – Nepster

+0

Теперь, если я хочу вернуться к 0 до 300. Что делать тогда. Пожалуйста. – Nepster

+0

Использование fromZeroTo300 –

 Смежные вопросы

  • Нет связанных вопросов^_^