我有一个在所有活动中使用的通用布局。在标题布局中,我包含了一个 imageview,并且在这个 imageview 的 xml 布局中指定了一个 onclick 方法。
在我的一项活动中,此 imageview 的 onclick 未在 java 代码中触发。以下是我所指的活动的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/bottom_layout_main"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:padding="5dp" >
<RelativeLayout
android:id="@+id/btn_layout_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/exit_createprofile"
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_marginRight="5dp"
android:background="@drawable/custom_button"
android:onClick="onCreateExitClick"
android:text="Exit"
android:textSize="14dp" />
<Button
android:id="@+id/save"
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/exit_createprofile"
android:background="@drawable/custom_button"
android:onClick="onCreateSaveClick"
android:text="Save"
android:textSize="14dp" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/top_layout"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_weight="1"
android:background="@color/light_grey"
android:gravity="top"
android:orientation="horizontal" >
<include
android:id="@+id/includeTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/titlebar_layout" />
</LinearLayout>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="40dp" >
<br.com.dina.ui.widget.UITableView
android:id="@+id/profileList_create"
style="@style/UITableView"
android:layout_height="wrap_content" />
</ScrollView>
并且包含中指定的布局是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/list_item_top"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/background_grey"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imgBack"
android:layout_width="28dp"
android:layout_height="28dp"
android:onClick="onBackClick"
android:src="@drawable/arrow_back" />
<TextView
android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:textColor="@android:color/black"
android:textStyle="bold"
android:textSize="18sp" />
</LinearLayout>
我什至尝试过在活动中使用以下代码,但仍然没有触发 onclick:
backImage = (ImageView)layout.findViewById(R.id.imgBack);
backImage.setClickable(true);
backImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Title back clicked", Toast.LENGTH_SHORT).show();
}
});
我不知道为什么这个 onclick 没有被解雇。任何帮助深表感谢。
这是我的屏幕: