2017-07-27 47 views
2

我有2个切换按钮。第一个“on_off_toggle_button”工作正常。但一旦我按下第二个应用程序崩溃。第一个按钮可以正常工作,并且可以做到这一点,但第二个按钮总是会使应用程序崩溃,而不管它是否在执行任何操作。如果我交换它,所以第二个按钮有onClick行动,我仍然崩溃。我认为这与切换本身有关,但我不确定我做错了什么。多个切换按钮导致应用崩溃

任何人都知道这是为什么?

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="60dp" 
    android:background="@drawable/border_line" 
    android:gravity="center_vertical" 
    android:orientation="horizontal" 
    android:paddingLeft="@dimen/activity_horizontal_padding" 
    android:paddingRight="@dimen/activity_horizontal_padding" 
    android:weightSum="1"> 

    <TextView 
     android:id="@+id/on_off_title" 
     android:layout_width="wrap_content" 
     android:layout_height="36dp" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentTop="true" 
     android:layout_weight="1.0" 
     android:background="@android:color/transparent" 
     android:gravity="center_vertical" 
     android:paddingRight="@dimen/activity_vertical_padding" 
     android:text="Off/On" 
     android:textColor="@android:color/black" 
     android:textSize="18dp" 
     android:textStyle="bold" /> 

    <ToggleButton 
     android:id="@+id/on_off_toggle_button" 
     android:layout_width="100dp" 
     android:layout_height="37dp" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:background="@drawable/toggle_selector" 
     android:checked="false" 
     android:onClick="startLockScreenService" 
     android:text="" 
     android:textOff="" 
     android:textOn="" /> 
</LinearLayout> 
<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="60dp" 
    android:background="@drawable/border_line" 
    android:gravity="center_vertical" 
    android:orientation="horizontal" 
    android:paddingLeft="@dimen/activity_horizontal_padding" 
    android:paddingRight="@dimen/activity_horizontal_padding" 
    android:weightSum="1"> 

    <TextView 

     android:layout_width="wrap_content" 
     android:layout_height="36dp" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentTop="true" 
     android:layout_weight="1.0" 
     android:background="@android:color/transparent" 
     android:gravity="center_vertical" 
     android:paddingRight="@dimen/activity_vertical_padding" 
     android:text="Off/On" 
     android:textColor="@android:color/black" 
     android:textSize="18dp" 
     android:textStyle="bold" /> 

    <ToggleButton 
     android:id="@+id/on_offnotif_button" 
     android:layout_width="100dp" 
     android:layout_height="37dp" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:background="@drawable/toggle_selector2" 
     android:checked="false" 
     android:onClick="" 
     android:text="" 
     android:textOff="" 
     android:textOn="" /> 
</LinearLayout> 
+0

什么是logcat把logcat放在这里以更好地帮助 –

+0

空'android:onClick =“”' –

+0

我必须在一个小时内回到那里,所以我的办公室电脑不允许出于任何原因仿真我必须在家里做。 –

回答

2

Issue:有一个空android:onClick=""处理程序,以便当您单击然后OS将无法找到任何信息处理机和将引发异常

解决方案

要么添加相应的处理函数像你这样与其他ToggleButton

OR 删除android:onClick="",然后你可以初始化按钮,使用匿名类

绑定监听器
2

您已注册的OnClickListener

android:onClick="" 
1

一个空的名字你android:onClick=""是空的。