달력

1

« 2021/1 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
  •  
2012. 1. 17. 18:40

ScrollView 와 ListView 같이 쓰기. Android2012. 1. 17. 18:40


일반적으로 ListView 는 그 안에 들어가는 item 들의 갯수에 따라 크기가 결정된다.
그런데 ScrollView 가 그려지는 그 시점에 ListView 의 길이를 정확히 알수가 없다.
예를들면 아래와 같이 두개를 같이 쓰게 될 때, ScrollView 가 ListView 를 다 표현하지 못한다.

<ScrollView  .... attrs..>
    <LinearLayout ...attrs..>
        <기타등등 >
        <기타등등 >
        <ListView ... attrs />
    .....
</ ..... >


하지만 ListView 의 height 를 ListView 안에 Item 갯수 * 각 Item 높이 만큼 다시 그려준다면

ListView 안에 Scroll 이 들어가지 않고 ListView 자체가 늘어나므로,

ScrollView 안에 ListView 를 다 보여줄 수 있으며 이런 어려움을 매우 훌륭하게 극복할 수 있다.

Posted by maruldy

댓글을 달아 주세요

처음엔 처음엔 Adapter 를 만들어서 CheckBox 에 click listener 를 달아놓는 방식으로 접근 했는데

deleteItemCheckBox.setChecked(((ListView)parent).isItemChecked(position));
deleteItemCheckBox.setFocusable(false);
deleteItemCheckBox.setClickable(false);

를 이용해서 CheckBox 의 Checked 여부를 ListView 에서 관리하도록 처리 하니까 완전히 편하다.

단점(이라고불려야 하는지 맞나?)은, CheckBox 에 click listener 를 달았을 때에는
ListView 의 item 전 영역이 아닌, 정확히 CheckBox 를 클릭했을 때 Check 시키는 이벤트가 발생한 반면에,

ListView 가 Checked 여부를 관리하게 되었을 때에는 item 어느 영역을 클릭해도 CheckBox 가 클릭된다.
Posted by maruldy

댓글을 달아 주세요