ListView에 각각 seekbar를 넣어서 따로 제어하게 하는 부분을 구현하고 싶었는데, 잘 되지 않았다. 그래서 이틀을 삽질을하면서 구글링한 결과 다음과 같은 답을 얻어 내었다.



이번 프로젝트를 하면서 가장 어려웠던 부분인데, 스택오버플로우에서 찾아보니 간단하게 해결 되었다...;;

http://stackoverflow.com/questions/6297791/refresh-seekbar-textview-in-a-listview 원문은 이곳이다.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 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) {}
 
        });
cs



11행에 있는 코드와같이 한줄이면 해결된다... 하지만 필자는 11행이 잘 되지 않아서 아래와 같이 변경했다.


1
listAdepter.this.getItem((Integer)seekBar.getTag());
cs


필자는 위와 같은 방법을 사용해서 문제를 해결 하였다.

'Programming > Android' 카테고리의 다른 글

가속도 센서를 이용하여 흔들림 감지  (0) 2016.10.12
DialogFragment  (0) 2016.09.24
Custom Listview  (0) 2016.09.24
ListFragment  (0) 2016.09.24
ScrollView  (0) 2016.09.15

+ Recent posts