Withings Activité Pop 2회차 배터리 교체

IMG_20160419_102638

지난번엔 4개월 정도 사용했는데 배터리 교체 후 5개월 좀 넘게 사용했네요.

대략 반년에 한 번 교체한다고 보면 될것 같아요.

 

사실, 4월 9일 즈음에 시간이 한 시간 늦어서 지각을 해서 시간을 다시 맞췄는데

그 다음 주인 4월 17일 새벽에 배터리 부족 메일이 왔어요.

어제도 한 시간 늦기에 그대로 두고 있다가 지금 교체했네요.

 

스트랩의 가이드링도 떨어져 나가고 때가 타 꼬질꼬질해서 스트랩도 교체해야겠어요.

ListView in ScrollView

Screenshot_2016-04-11-14-45-09

ScrollView 안에 ListView를 넣으니 하나의 ListItem 크기 만큼만 나옵니다.

조사를 해보니 여러가지 방안들을 알려줍니다.

그 중 ListItem의 랜더링 후 높이를 알아내어 ListItem 개수 만큼 곱해서 ListView의 높이를 설정해 주는 것이 가장 적절해 보였습니다.

하지만 실제 ListItem 하나를 가져와 measure 메서드를 사용해 받아온 높이는 사용하기에 적절하지 않았고 일정한 수치를 더해서 크기를 맞춰야 했습니다.

그렇게 확인한 높이를 디버그를 통해 일치하는 값을 갖고 있는 필드를 찾아보니 있었습니다.

그래서 다음과 같이 간단하게 하나의 ListItem의 높이를 가져와서 개수 만큼 곱하고 여기에 디바이더 높이를 계산해 넣으니 정확한 ListView의 높이가 나왔습니다.

 

//ScrollView 안의 ListView 고정높이 적용
View listItem = adapter.getView(0, null, mListView);
int totalHeight = listItem.getLayoutParams().height * adapter.getCount();

ViewGroup.LayoutParams params = mListView.getLayoutParams();
params.height = totalHeight + (mListView.getDividerHeight() * (adapter.getCount() - 1));
mListView.setLayoutParams(params);
mListView.requestLayout();

 

더불어 이 ListView를 LinearLayout에 넣어 ScrollView로 싸고

LinearLayout에 배경색을 넣어보니 아래쪽 빈 곳이 생깁니다.

ScrollView에 android:fillViewport=”true” 를 넣으니 가득 채워주네요. [참조]