package kr.co.incoad.SinsangApp;

import java.util.List;

import android.content.Context;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class RssListAdapterJjim extends ArrayAdapter<Item> {
 private LayoutInflater mInflater;
 private TextView title;
 private TextView desc;

 public RssListAdapterJjim(Context context, List<Item> objects) {
  super(context, 0, objects);
  mInflater = (LayoutInflater) context
    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 }

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  View view = convertView;
  if (convertView == null) {
   view = mInflater.inflate(R.layout.item_row, null);
  }
  Item item = this.getItem(position);
  if (item != null) {

  

   // 주의: 안드로이드 버그로 ListView 안에 클릭 가능한 객체(ex. Button, WebView 등)가 존재하면
   // ListView 를 클릭했을때 호출되는 OnListItemClick 이 호출되지 않습니다.
   // 그래서 WebView 의 focusable을 false 로 만들어 줘야 합니다.
   // 더 주의해야 할 사항은 xml에서 설정해도 적용되지 않으므로 반드시 코드상에 한번더 명시해줘야 합니다.
 
   String image = item.getImage().toString();
   WebView webView = (WebView) view.findViewById(R.id.item_img);
   webView.setFocusable(false);
   webView.setClickable(false); 
   webView.getSettings().setJavaScriptEnabled(false);
   if (webView != null)
    webView.loadUrl("http://이미지경로");

   String title = item.getTitle().toString();
   this.title = (TextView) view.findViewById(R.id.item_title);
   this.title.setText(Html.fromHtml(title));

   String desc = item.getDesc().toString();
   this.desc = (TextView) view.findViewById(R.id.item_desc);
   this.desc.setText(Html.fromHtml(desc));
   
  }
  return view;
 }

}

 

 

xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/item_container"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:orientation="vertical"
 android:padding="5dip">
 <LinearLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:background="@drawable/listviewbg"
  android:padding="10px"> 
  <WebView
   android:id="@+id/item_img"
   android:layout_width="80dip"
   android:layout_height="60dip"
   android:padding="10px"
   android:layout_gravity="center_vertical|center_horizontal"
   android:scrollbars="none"
   android:clickable="false"
   android:focusable="false" />
  <LinearLayout
   android:layout_toRightOf="@id/item_img"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:orientation="vertical"
   android:padding="5dip">
   <TextView
    android:id="@+id/item_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="18sp"
    android:textColor="#000000"
    android:lines="1" />
   <TextView
    android:id="@+id/item_desc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lines="1"
    android:textColor="#000000"
    android:ellipsize="end" />
  </LinearLayout>
 </LinearLayout>
</LinearLayout>

 

 

 

리스트뷰 안에 웹뷰가 있는 리스트를 구현하였습니다.

그런데 웹뷰부분을 클릭하면 이벤트가 먹질 않네요..

다른 부분을 클릭하면 정상적으로 작동하는데요.. 왜 웹뷰 부분만 클릭이 안될까요..

별의별 방법을 다 써봤는데요 안되네요.. ㅡㅡ;

 

웹뷰부분에는 이미지만 가져 오는데요.. 아 미치겠습니다. 아시는분 답변좀 부탁드려요..

xml과 코딩상에 setFocusable,setClickable 모두 false로 되어있습니다.