Вертикальный Seekbar setProgress не работает
Поиск не прогрессирует. Вся панель поиска обнуляется, но textView правильно показывает значение.
choosePreset.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
LayoutInflater inflater = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE));
View customView = inflater.inflate(R.layout.preset_list, null, false);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setView(customView);
final String[] arr= getEqualizerPresets();
ArrayAdapter<String> namesAA= new ArrayAdapter<String> ( context,R.layout.myitemlist,arr );
ListView list = (ListView) customView.findViewById(R.id.mylist);
list.setAdapter(namesAA);
final AlertDialog ad = builder.create();
list.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view, final int position, long id)
{
Toast.makeText(context, "Position"+position, Toast.LENGTH_LONG).show();
//equalizerWrapper.usePreset((short)arr[position]);
for(int v=0;v<eqSeeks.length;v++)
{
// equalizerSeeks(v, eqSeeks[v]);
final int z = v;
eqSeeks[v].post(new Runnable()
{
@Override
public void run()
{
eqSeeks[z].setProgress( EQValues.presetValues[position][z]);
}
});
}
// eqSeeks[2].setProgress(150);
setEqualizerPreset(position);
ad.dismiss();
}
});
ad.show();
}
});
EQValues.presetValues [position][z] правильно отображаются в textView, но панели поиска не достигают прогресса. Я пробовал много способов, но ничего не получалось.
Я попытался использовать обработчик, а также использовать postMethod, как показано. Но seekBars не достиг ценностей.
редактировать
я нахожу ответ, чтобы добавить updateThumb
метод к вертикальной панели поиска, но он также не работает. Эта проблема связана с вертикальной панели поиска.
public void updateThumb(){
onSizeChanged(getWidth(), getHeight(), 0, 0);
}
А затем вызвать метод обновления большого пальца после установки прогресса.
seekBar.setProgress((int) progress);
seekBar.updateThumb();
но это до сих пор не решило мою проблему
3 ответа
Я столкнулся с другой проблемой. но данное утверждение работает.
Добавьте метод updateThumb в класс VerticalSeekbar, например
public void updateThumb()
{
onSizeChanged(getWidth(), getHeight(), 0, 0);
}
А затем вызвать метод обновления большого пальца после установки прогресса.
seekBar.setProgress((int) progress);
seekBar.updateThumb();
Это на самом деле лучше:
@Override
public void setProgress(int progress) {
super.setProgress(progress);
onSizeChanged(getWidth(), getHeight(), 0, 0);
}
Сейчас setProgress()
метод должен работать нормально.
Я просто иначе заявил об этом. Вместо того, чтобы использовать:
VerticalSeekbar mSeekbar;
Я использовал:
Seekbar mSeekbar;
Теперь mSeekbar.setProgress(прогресс) работает как надо.