커스텀뷰가 있습니다.
커스텀뷰 아이템마다 타이머 기능이 있어서 멀티 타이머 만들려고 해요.
근데 밤새 찾아도 도저히 커스텀뷰 갱신을 할 수 가없습니다.
물론 안드로이드 개발은 처음하기는 하는데....
일단 제가 만드는 타이머라는게 10초 정해놓으면 1초씩 줄어들면 커스텀뷰에 써있는 시간도 1초씩 줄어들면서 바뀌어야
하는데 이걸 갱신으로 해야하지 않습니까? 근데 아무리 찾아도 못찾겠어요.
getView에 타이머 쓰레드를 구현을 해서 그런건지 여러 갱신방법을 써도 안되고..일단 getView 소스를 올립니다.ㅠㅠ
public View getView(final int position, View convertView, final ViewGroup parent) {
// 한 행의 디자인과 데이터의 결합
System.out.println("getView() 호출 :" + position);
if(convertView == null){
convertView = inflater.inflate(layout, parent, false);
}
TextView tv = (TextView)convertView.findViewById(R.id.tv);
tv.setText(src.get(position).getInfo());
tv.setTextSize(20);
tog = (ToggleButton)convertView.findViewById(R.id.tog);
tog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(tog.isChecked()) {
Log.i("asd", src.get(position).getInfo());
mainTime = src.get(position).sumSec();
mTask = new TimerTask() {
public void run() {
int hour = mainTime / 3600;
int min = (mainTime % 3600) / 60;
int sec = (mainTime % 3600) % 60;
mainTime--;
src.get(position).setTime(hour, min, sec);
Log.i("asd", src.get(position).getInfo());
}
};
mTimer = new Timer();
mTimer.schedule(mTask, 1000, 1000);
}
else {
Log.i("test", "onDstory()");
mTimer.cancel();
}
}
});
return convertView;
}
}