ListView에 WebView를 사용하면 해당 WebView에는 클릭 이벤트가 먹지 않습니다. ㅜㅜ
그래서 아래와 같은 방법을 사용하시면 클릭이벤트가 먹습니다.
그래도 먹지 않습니다.
focusable이 false로 되어 있으면 되는데.. 실제로는 먹지 않아서 소스에서도 한줄 추가해 주셔야 합니다.
이러면 Webview 영역을 클릭하여도 ListView의 클릭이벤트가 먹네요..
그래서 아래와 같은 방법을 사용하시면 클릭이벤트가 먹습니다.
<WebView android:layout_width="70dp" android:layout_height="wrap_content"헉..
android:scrollbars="none" android:clickable="false" android:focusable="false"
android:id="@+id/board_item_row_boardwriter_webview" android:layout_marginRight="5dp"/>
그래도 먹지 않습니다.
focusable이 false로 되어 있으면 되는데.. 실제로는 먹지 않아서 소스에서도 한줄 추가해 주셔야 합니다.
WebView webView = rowHolder.getBoardWriterWebView();오.. 이제 되는군요.
webView.setVisibility(View.VISIBLE);
webView.setFocusable(false);
webView.loadDataWithBaseURL(null, p.getWriter(), "text/html","UTF-8", null);
이러면 Webview 영역을 클릭하여도 ListView의 클릭이벤트가 먹네요..
요약 : 안드로이드 특징인지 ListView 안에 클릭 가능한 객체(WebView나 버튼 등)가 존재하면
ListView 를 클릭했을때 이벤트를 호출하지 않습니다. Button이나 WebView가 해당 이벤트를 먼저 가로Event를 먹습니다. 그래서 WebView 의 focusable을 false 로 만들어 주면 가능하며 xml에서 설정해도 적용되지 않으므로 코드상에 한번더 설정해줘야 합니다.
'4. 테크니컬&팁 > 4.4.Android' 카테고리의 다른 글
넥서스S 루팅 아주 쉽게 하기 (2) | 2011.06.28 |
---|---|
안드로이드 화면 전환(방향전환)시 onCreate를 다시 호출하는 문제. (0) | 2011.06.24 |
안드로이드 SDK 단축키 (0) | 2010.12.08 |
옵티머스Q - 가상키보드 프로그램 사용법 (0) | 2010.11.12 |
옵티머스Q도 OSP 기능이 됩니다. (2) | 2010.08.25 |