Actionbarsherlockのカスタムレイアウトで定義されているimageviewをクリック可能にしようとしています。私のアクティビティは最初にレイアウトを設定します:
setContentView(R.layout.myLayout);
actionbar_layoutは、次のような同じアクティビティで設定されます。
View cView = getLayoutInflater().inflate(R.layout.actionbar_layout,
null);
actionBar.setCustomView(cView);
実際のactionbar_layoutは次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:orientation="horizontal" >
<ImageView
android:id="@+id/actionBarLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingBottom="50dp"
android:paddingLeft="10dp"
android:paddingRight="50dp"
android:paddingTop="50dp"
android:scaleType="centerCrop"
android:src="@drawable/logo" />
</LinearLayout>
これを追加する:
actionBarLogo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//code
}
});
この行のNullpointer例外が発生します。
actionBarLogo.setOnClickListener(new View.OnClickListener()
カスタムレイアウトは問題なく機能します。画像ビューをクリック可能にする必要があります。これを修正する方法はありますか?アクティビティは、actionbar_layout.xmlで定義されているactionBarLogo IDへの参照をどのように取得できますか?