2013-06-03 85 views
2

我在LinearLayout中有兩個ImageView,一個文本字段和一個WebView。我的ImageView偵聽器不工作。這是我的XML:ImageView onClickListener不起作用

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/bg_main" 
    android:orientation="vertical" > 



    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:contentDescription="back" 
     android:adjustViewBounds="true" 
     android:clickable="true" 
     android:src="@drawable/back_icon" /> 

    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:clickable="true" 
     android:contentDescription="forward" 
     android:src="@drawable/back_icon"/> 
    <EditText 
     android:id="@+id/adressBar" 
     android:imeOptions="actionDone" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:singleLine="true" 
     android:ems="10" > 
    </EditText> 

    <WebView 
     android:id="@+id/webView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

</LinearLayout> 

這是我的Java代碼。我要指出的是,Log.d語句不點火,所以它是絕對不會得到所謂:

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
    if (savedInstanceState == null) { 
     L.d(">>onCreateView", "savedInstanceState null"); 
    } 
    View v = inflater.inflate(R.layout.browser,null); 
    mWebView = (WebView) v.findViewById(R.id.webView); 
    back =(ImageView) v.findViewById(R.id.imageView1); 
    back.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Log.d("backkkkkkkkkkkkkkkk", "msg"); 

     } 
    }); 
    return v; 
} 
+0

無需點擊了ImageView的 – Senthil

+0

仍然沒有工作 –

+0

你依靠日誌瞭解,如果是的onClick =開除真的嗎? – Blackbelt

回答

0

你需要像充氣

v = inflater.inflate(R.layout.browser, container, false); 
back =(ImageView) v.findViewById(R.id.imageView1); 
back.setOnClickListener(new View.OnClickListener()) 
{ 
.. 
} 
+0

不工作:'( –

+0

ru真的點擊圖像?:/ – Tarun

0

認爲這 - 嘗試

back.setOnClickListener(this); 

和實現onClickListener ..

+0

這只是另一種方式來做OP已經在做的 – codeMagic

+0

最新的錯誤與上面mehtod –

+3

沒有任何錯誤的任何一種方式。有幾種切洋蔥的方法,最好的方法就是取決於誰在切片,他們喜歡哪一把刀 – codeMagic

1

試試這個

v = inflater.inflate(R.layout.browser, container, false); 
ImageView back = (ImageView)findViewById(R.id.imageVIew1); 
     back.setOnClickListener(new View.OnClickListener(){ 

     @Override 
    public void onClick(View v) { 
     Log.d("backkkkkkkkkkkkkkkk", "msg"); 

    } 
}); 
+0

仍然不起作用 –

0

對於xml文件中的所有視圖設置爲可聚焦false。或onOctivityCreated()方法中的imageview的setOnClickListener。

0

我有類似的問題,並通過添加android:layout_width="44dp"修復它,以確保用戶將有足夠的區域點擊。然後,您可以按照您的方式調整圖片內容。在我的情況:

<ImageView 
    android:id="@+id/locationImageView" 
    android:layout_width="44dp" 
    android:layout_height="16dp" 
    android:layout_centerVertical="true" 
    android:layout_marginStart="4dp" 
    android:layout_toEndOf="@id/locationText" 
    android:adjustViewBounds="true" 
    android:scaleType="fitStart" 
    android:src="@drawable/icn_edit_small_white"/>