2010-09-16 39 views
0

我試圖讓一個簡單的onClick從ImageButton中觸發 - 它看起來像一個足夠簡單的任務,但我顯然在這裏丟失了一些東西。基本的ImageButton onClick事件不會觸發 - 肯定有點簡單?

這是我的java文件:

package com.jlbeard.android.testapp; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ImageButton; 
import android.widget.Toast; 

public class testapp extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    //handle the button press 
    ImageButton mainButton = (ImageButton) findViewById(R.id.mainButton); 
    mainButton.setOnClickListener(new OnClickListener() { 

    @Override 
     public void onClick(View v) { 
     //show message 
     Toast.makeText(testapp.this, "Button Pressed", Toast.LENGTH_LONG); 

    } 
    }); 
} 
} 

這是我的佈局文件:

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

    <ImageView 
    android:id="@+id/whereToEat" 
    android:src="@drawable/where_to_eat" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="8px" 
    /> 

<ImageButton 
    android:id="@+id/mainButton" 
    android:src="@drawable/main_button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:background="@null" 
    android:clickable="true" 
    android:onClick="mainButtonClick" 
    /> 

</RelativeLayout> 

在我看來,我失去了一些東西簡單......但似乎無法想辦法。謝謝!

回答

2

您沒有在Toast對象上運行show()方法。 :-)

+0

哦,是的......就是這樣!我不敢相信我忽略了它。謝謝! – JLateralus 2010-09-17 00:59:02

0

你也可能有問題,由於艙單非常常見的錯誤的onclick 安卓的onClick =「mainButtonClick」

如果mainButtonClick上後1.5設備存在,它可以代替調用,重寫一個你在代碼設置

+0

哎呀..我忘了把它放到XML文件中。我嘗試了不同的方法,因爲我無法完成該死的點擊工作! – JLateralus 2010-09-17 00:59:38