添加WebView时,我的ListView的onItemClickListener()无法正常工作?

时间:2013-02-18 08:10:30

标签: android webview android-listview focus onitemclicklistener

当我将WebView附加到ListView时,我的onItemClickListener() WebView停止工作。我知道这是WebView的焦点问题。但是我设定了:

  • WebView的xml中:

    android:clickable="false"  
    android:focusable="false"  
    android:focusableInTouchMode="false"
    
  • 以及适配器类:

    webview.setFocusable(false);     
    webview.setFocusableInTouchMode(false); 
    webview.versedata.setEnabled(false); 
    webview.setClickable(false);
    
  • 也在主要活动中:

    listview.setItemsCanFocus(false);
    

但我的onItemClickListener()仍无效。有什么建议吗?

3 个答案:

答案 0 :(得分:1)

to add your xml main layout

android:descendantFocusability="blocksDescendants" 

Example:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:auto="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:descendantFocusability="blocksDescendants">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
<WebView  
    android:layout_width="fill_parent"`
    android:layout_height="wrap_content" />
</LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

尝试在从BaseAdapter类派生的类中的setOnClickListener方法中实现getView()

public View getView(int position, View convertView, ViewGroup parent)
{
    convertView.setOnClickListener(new OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            //your code
        }
    });

    return convertView; 
}

答案 2 :(得分:0)

根据这个link,事实证明,对于包含可以处理点击事件或可以获得焦点的视图的列表项,将永远不会收到列表项单击事件。

尝试在ACTIVITY中插入这两行(不要在布局中放置属性)

wv.setFocusable(假); wv.setClickable(假);