2015-06-14 73 views
0

我正在開發一個Android應用程序,該應用程序中有一個ImageButton,並且我需要爲其添加一個事件處理程序。在我試圖做到這一點,我添加了一個新功能的.java文件Android的工作室當你做出新的項目,看起來像這樣造成:將事件處理程序添加到ImageButton

public void tapImageButton(ImageButton myImgBtn) { 
     // Code that does stuff will come later on. 
} 

這樣做了以後,嘗試設置onClick proerty不顯示該功能,並嘗試手動輸入它導致應用程序崩潰時,我測試它。

'tapImageButton' Function Missing

+0

http://stackoverflow.com/questions/5812744/how-to-set-an- onclick-listener-for-an-imagebutton-in-an-alertdialog –

回答

2

您必須查看您要調用方法的參數,而綁定click事件通過佈局文件。

試試這個:

public void tapImageButton(View view) { 
     // Code that does stuff will come later on. 
    Toast.makeText(this, "clicked !!", Toast.LENGTH_SHORT).show(); 
} 

在XML:

... 
android:onClick="tapImageButton" 
... 
+0

非常感謝。這解決了我的問題。 – DavidB

+0

歡迎:) –

1

我不是很熟悉Android的工作室,但是當我試圖使一個按鈕,讓它做一些事情上點擊我第一次加入android:onClick =「some_method_name」轉換爲用於設計應用程序的XML。我首先在onClick中添加了名稱,然後點擊了名稱。當小燈泡圖標顯示它旁邊的箭頭時,可以選擇使用剛寫入的方法名稱創建方法。一旦你創建它,然後你添加你想要發生的任何代碼,當你點擊。希望它有效。

對於實施例,這是XML:

<Button 
      android:id="@+id/playButton" 
      android:text="@string/play" 
      android:textSize="25sp" 
      android:background="#0099FF" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:paddingLeft="6dp" 
      android:paddingRight="6dp" 
      android:onClick="startGame" /> 

這是Java:

public void startGame(View view) { 
     Intent intent = new Intent(this,GameActivity.class); 
     startActivity(intent); 
    } 
+0

謝謝,但我正在使用'ImageButton',而不是普通的'Button'。然而,Java似乎對Button和ImageButton都是一樣的。 – DavidB

相關問題