【发布时间】:2017-10-02 16:20:56
【问题描述】:
我已经制作了一个布局,其中包含一个用于标题的工具栏、一个作为正文的滚动视图和一些作为页脚的按钮,但无论我做什么,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 代码 sn-p
Button rescueRequestButton = findViewById(R.id.rescue);
rescueRequestButton.setOnClickListener(view -> {
Log.i("Click", "clicked");
});
按钮显示在屏幕上,但点击它不会触发点击监听器。
【问题讨论】:
-
这就是你的
OnClickListener的样子吗?或者你是否为这个问题缩短了它? -
@H.Brooks 我使用了 lambda 表达式,所以就这样。
-
哦,我明白了,然后忽略我的回答。
-
所有其他按钮都工作了吗?您的应用在到达 clicklistener 之前是否出现异常?
标签: java android android-layout onclicklistener android-button