我做了一个布局,其中包含一个标题工具栏,一个滚动视图作为正文,一些按钮作为页脚,但无论我做什么,onClick监听器都不会触发按钮。
这是我的代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="in.octalogic.rescuegsbb.ActiveRescueDetail">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:theme="@style/MyToolbarStyle" />
<FrameLayout
android:id="@+id/footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@color/colorPrimary"
android:orientation="vertical">
<LinearLayout
android:id="@+id/postRescueRequest"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/divider"
android:orientation="horizontal"
android:visibility="gone">
<Button
android:id="@+id/rescueFail"
style="?android:textAppearanceSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_margin="5dp"
android:layout_weight="0.5"
android:background="@color/colorAccent"
android:clickable="true"
android:text="@string/rescue_fail"
android:textColor="@color/white"
android:textStyle="bold" />
<Button
android:id="@+id/rescueSuccess"
style="?android:textAppearanceSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_margin="5dp"
android:layout_weight="0.5"
android:background="@color/colorAccent"
android:clickable="true"
android:text="@string/rescued"
android:textColor="@color/white"
android:textStyle="bold" />
</LinearLayout>
<Button
android:id="@+id/rescue"
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="16dp"
android:background="@color/colorAccent"
android:clickable="true"
android:text="@string/rescue"
android:textColor="@color/white"
android:textStyle="bold" />
</FrameLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/footer"
android:layout_below="@id/toolbar"
android:background="@color/red">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="180dp"
android:layout_margin="15dp"
android:contentDescription="@string/image" />
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:gravity="center_horizontal"
android:text="Description"
android:textAlignment="center"
android:textSize="20sp" />
<TextView
android:id="@+id/location"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:gravity="center_horizontal"
android:text="Custom Location"
android:textAlignment="center"
android:textSize="20sp" />
</LinearLayout>
</ScrollView>
这是我的java代码段
Button rescueRequestButton = findViewById(R.id.rescue);
rescueRequestButton.setOnClickListener(view -> {
Log.i("Click", "clicked");
});
按钮显示在屏幕上,但点击它不会触发点击监听器。
答案 0 :(得分:0)
尝试将OnClickListener
更改为:
Button rescueRequestButton = (Button) findViewById(R.id.rescue);
rescueRequestButton.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("Click", "clicked");
}
});