어제부터 번뇌에서 벋어나지 못한채 잠을 이루곤 했습니다.
사수도 없고 주변에 물어볼 사람도 없고...
안그래도 호기심 많은 타입인데 진짜 끝까지 해보다가 안되서 늘 오던 펍에
조언을 부탁하는 글을 남겼는데요.
기초개발자님 b22n님 원조안드로이드님께서 좋은 말씀을 많이 해주셔서
현재 진전이 있습니다.
아직 완전히 테스트를 해보진 않았지만
현재로서는 데이터의 꼬임 현상이 없어졌고 프로그래스의 업데이트도 원활히 실시간으로 업데이팅이 가능해졌습니다.
마지막으로 궁금한거 한가지만 여쭤봐도 될까요?
올려주신 b22n님께서 조언해주신 코드중에
if(position >= first && position <= last) 이 비교문이 들어가는데 이것은 어떤 의미인지 알 수 있을까요?
나름 유추해보긴 하는데 정신이 많이 황폐해진 상황이라 또 제 독단적으로 생각하고 이상한방향으로 흘러가 헤멜것 같아 조언 부탁드립니다.
마지막으로 혹시 저와 같은 문제가 발생하신 분들이 잇을수도 있어 핵심부분을 공유합니다.
@Override
protected void onProgressUpdate(Integer... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
int value = values[0];
if(youTubeVideoDataInfo != null && youTubeVideoDataInfo.isPercentFalg() == false) {
youTubeVideoDataInfo.setPercentFalg(true);
}else if(youTubeVideoDataInfo.isPercentFalg()) {
updateListRow(position, value);
}
}
public void updateListRow(int position, int percent) {
int first = YoutubeList.mGridView.getFirstVisiblePosition();
int last = YoutubeList.mGridView.getLastVisiblePosition();
if(position >= first && position <= last) {
View row = YoutubeList.mGridView.getChildAt(position - first);
TextView textView = (TextView)row.findViewById(R.id.youtube_contents_percent);
textView.setText("" + percent);
youTubeVideoDataInfo.setPercent(percent);
}
}