Вертикальный 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(прогресс) работает как надо.

Другие вопросы по тегам