2

我有非常简单的代码,其中包含 ImageButton 和 OnClickListener 指向另一个 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" />

4

2 回答 2

8

我看不出代码有什么问题。如果它与常规按钮一起使用,我的猜测是您可能必须android:clickable="true"在 xml 中进行设置(您也可以在代码中进行设置)。

于 2012-11-11T06:33:42.793 回答
0

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

于 2012-11-11T08:49:52.483 回答