2012-03-11 55 views
1

我非常確定一切正常,但是當我點擊任何圖像時,日誌並未顯示在Eclipse的控制檯區域中。OnClickListener不適用於ImageView

最終,我想要在點擊這些圖片時出現彈出式菜單,但現在我只想讓onclick事件正常工作,然後在稍後添加這些事件。

我的代碼:

的Java

public class SecondScreen extends HelloAndroid { 
    public void onCreate(Bundle savedInstanceState) { 

     this.requestWindowFeature(Window.FEATURE_NO_TITLE); 

      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main2); 

      // initialize header 
      ImageView header = (ImageView) findViewById(R.id.header_image); 
      header.setOnClickListener(headerClick); 

      // Make sure vitals and details are same size 
      LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT); 
      params.weight = 0.5f; 

      // initialize vitals image 
      ImageView vitals = (ImageView) findViewById(R.id.vitalsigns_image); 
      vitals.setLayoutParams(params); 
      vitals.setOnClickListener(vitalsClick); 

      // initialize details image 
      ImageView details = (ImageView) findViewById(R.id.details_image); 
      details.setLayoutParams(params); 
      details.setOnClickListener(detailsClick); 




     } 

     private OnClickListener headerClick = new OnClickListener() { 

      public void onClick(View view) { 
       Log.d("Clicked", "Header Clicked!"); 



      } 
     }; 


     private OnClickListener vitalsClick = new OnClickListener() { 

      public void onClick(View view) { 
       Log.d("Clicked", "Vitals Clicked!"); 



      } 
     }; 

     private OnClickListener detailsClick = new OnClickListener() { 

      public void onClick(View view) { 
       Log.d("Clicked", "Details Click!"); 



      } 
     }; 
} 

XML

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <!-- HEADER --> 

    <ImageView 
     android:id="@+id/header_image" 
     android:src="@drawable/header" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
    /> 



<!-- FOOTER --> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#000000" 
    android:layout_alignParentBottom="true"> 
    > 


    <ImageView 
     android:id="@+id/vitalsigns_image" 
     android:src="@drawable/vitalsigns" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:layout_alignParentBottom="true" 
    /> 

    <ImageView 
     android:id="@+id/details_image" 
     android:src="@drawable/details" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:layout_alignParentBottom="true" 
    /> 

</LinearLayout> 

我在做什麼錯?

+0

爲什麼你的代碼中太多空白空間..? – Siddharth 2015-08-26 05:36:30

回答

0

你可能需要讓你的ImageView的點擊,無論是在XML

http://developer.android.com/reference/android/view/View.html#setClickable(boolean

+0

感謝您的快速回復,但在添加到所有ImageViews後,日誌仍未顯示在Eclipse的「控制檯」選項卡中。任何其他想法? – twbbas 2012-03-11 20:43:45

+0

,你看到其他日誌記錄一般嗎? – dldnh 2012-03-11 20:47:10

+0

我想不是。我嘗試了另一個在線例子,獲得了點擊註冊,但仍然沒有記錄。這似乎是我的Eclipse設置的問題。知道任何修復? – twbbas 2012-03-11 20:51:58

4

使用setClickable(true)android:clickable="true"我面臨同樣的問題。經過幾個小時的努力,我能夠自己找出解決方案。如果ImageView位於RelativeLayout或LinearLayout內部,只需添加android:focusable="true"即可。該ImageView的也應該有android:focusable="true"android:clickable="true"

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"/> 
相關問題