ToolBar中的自定义按钮无法响应操作。吐司没有显示

时间:2016-07-13 18:42:49

标签: android android-layout android-view android-toolbar

我有一个非常基本的应用程序,我正在尝试在工具栏中放置一个复选框。

这就是我的xml看起来的样子:

var controlName = Request.Params.Get("__EVENTTARGET")

在我的MainActivity中,我设置了一个简单的监听器:

    <?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="xxxxxxxx.xx.xx.HomeActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            android:padding="5dp"
            app:popupTheme="@style/AppTheme.PopupOverlay">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal">
            <EditText
                android:id="@+id/searchET"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="8"
                android:background="@android:color/white"/>

            <CheckBox
                android:id="@+id/favorite_toggle"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="2"
                />
            </LinearLayout>
        </android.support.v7.widget.Toolbar>


    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_home" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_dialog_email" />

</android.support.design.widget.CoordinatorLayout>

当我点击复选框时,没有任何反应,复选框切换但我看不到Toast。我在logcat中看到以下消息

  

D / ViewRootImpl:ViewPostImeInputStage processPointer 1

有人可以指出我可能出错的方向吗?

更新:我认为它只是没有出现的祝酒词。

2 个答案:

答案 0 :(得分:1)

您需要在Toast之后添加.show()方法。所以它会像:

Toast.makeText(HomeActivity.this, "changed", Toast.LENGTH_SHORT).show();

如果没有这种方法,你刚刚创建了Toast消息,但没有告诉系统显示它。

答案 1 :(得分:0)

要显示吐司,您必须使用方法show。所以在你的代码中:

Toast.makeText(HomeActivity.this, "changed", Toast.LENGTH_SHORT).show();