代码之家  ›  专栏  ›  技术社区  ›  Christopher Mckenzie

多个切换按钮导致应用程序崩溃

  •  2
  • Christopher Mckenzie  · 技术社区  · 9 年前

    我有两个切换按钮。第一个“on\u off\u toggle\u按钮”工作正常。但一旦我按下第二个按钮,应用程序就会崩溃。第一个按钮可以很好地工作并完成它的任务,但第二个按钮总是会使应用程序崩溃,无论它是否正在执行任何操作。如果我交换它,使第二个按钮有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>
    
    3 回复  |  直到 9 年前
        1
  •  2
  •   Pavneet_Singh    9 年前

    Issue android:onClick="" 因此,当您单击时,操作系统将无法找到任何处理程序,并将引发异常

    解决方案

    ToggleButton

    或 去除 安卓:onClick=“” 然后可以初始化按钮并使用匿名类绑定侦听器

        2
  •  2
  •   Pavneet_Singh    9 年前

    OnClickListener

    android:onClick=""
    
        3
  •  1
  •   Oussema Aroua    9 年前

    你的 android:onClick="" 为空。