2

別のアクティビティを指す OnClickListener を持つ ImageButton を含む非常に単純なコードがあります。ImageButton をクリックしても onClick は起動しません (同じ問題がボタンにもありました)。

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 に答える