Обновить панель поиска + текстовое представление в виде списка - PullRequest
1 голос
/ 09 июня 2011

У меня есть представление списка, где каждое текстовое представление должно показывать значение панели поиска. У меня это работает так, что как только onStopTrackingTouch вызывается для панели поиска, я обновляю соответствующее текстовое представление. Я хотел бы, чтобы изменение происходило, когда пользователь перемещает панель поиска, но у меня возникают проблемы с тем же, поскольку просмотр списка обновляется не так часто.

enter image description here

Каков идеальный метод для достижения этой цели?

Ответы [ 3 ]

1 голос
/ 13 июня 2011

Итак, вот что я сделал, я определил сенсорный слушатель вне getView, установил его как TouchListener для seekbar в getview.TouchListener возвращает представление в качестве аргумента, я получил родительский вид представления и выполнил поиск findViewByID для tectview и обновил его.

1 голос
/ 11 июля 2013

Я нашел способ добиться такого поведения, когда я переопределяю метод ArrayAdapter getView(), я установил атрибут тега SeekBar с позицией текущего элемента. так что это помогает мне извлечь соответствующий элемент при выполнении обратного вызова onProgressChanged(...). в то же время он позволяет мне обновить соответствующий объект внутри, который содержится в адаптере.

        sbProgress.setTag(position);
        sbProgress.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

            View view = (View) seekBar.getParent();
            if(view != null){
                TextView tvProgress = (TextView)view.findViewById(R.id.tv_porcentaje_numerico_obtenido);
                tvProgress.setText(progress + "%");
                MyAdapter.this.getItem((Integer)seekBar.getTag()).setProgres(progress);
            }
        }
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {}
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {}

        });

Вот изображение, которое объясняет, что я имею в виду enter image description here

Надеюсь, это кому-нибудь пригодится.

1 голос
/ 09 июня 2011

Вы можете позвонить notifyDataSetChanged

on OnSeekBarChangeListener

Надеюсь, что это поможет.

...