Android ImageButton没有触发onclick事件,我的代码出了什么问题?

时间:2012-11-10 22:56:37

标签: android

我有非常简单的代码,其中包含带有OnClickListener的ImageButton,它指向另一个Activity,单击ImageButton不会触发onClick(与Button相同的问题):

public class ToolsActivity extends Activity {
private ImageButton btnCamera;
final Context context = ToolsActivity.this;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tools);
    this.btnCamera = (ImageButton) findViewById(R.id.cameraButton);
    this.btnCamera.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent(context,MainActivity.class);
            startActivity(intent);  
        }
    }); 
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_tools, menu);
    return true;  
}

XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp" >

  <ImageButton
      android:id="@+id/cameraButton"
      android:layout_width="100dp"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true"
      android:background="@drawable/btncamera"
      android:contentDescription="@string/desc" />

2 个答案:

答案 0 :(得分:6)

我看不出代码有什么问题。如果它使用常规按钮,我猜你可能需要在xml中设置android:clickable="true"(你也可以在代码中执行)。

答案 1 :(得分:0)

我打开了新的Android项目并且复制粘贴可能代码,并且它可以工作,我猜这个项目的东西已经损坏了。