2017-07-27 12 views
2

2つのトグルボタンがあります。最初の "on_off_toggle_button"は正常に動作します。しかし、一度私は2つ目の1つを押すと、アプリケーションがクラッシュします。最初のボタンは正常に動作し、それは何かをしているかどうかに関わらず、2番目のボタンは常にアプリケーションをクラッシュさせます。 2番目のボタンに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は何を助けてくれるのですか? –

+0

空 'android:onClick = "" ' –

+0

私は1時間後にそれに戻る必要がありますので、私のオフィスコンピュータは何らかの理由でエミュレートを許可しません。私は自宅でそれをしなければならないでしょう。 –

答えて

2

Issueは:空のandroid:onClick=""ハンドラを使用すると、クリックしたときに、その後OSが任意のハンドラと例外を見つけることができなくなりますので、そこにあることは

ソリューションをスローされます

どちらかあなたがやったように、対応するハンドラ関数を追加他にToggleButton

OR android:onClick=""を削除して、あなたのボタンを初期化し、匿名クラス

を使用してリスナーをバインドすることができます
2

あなたはあなたのandroid:onClick=""が空であるOnClickListener

android:onClick="" 
1

の空の名前を登録しています。

関連する問題