2017-12-28 16 views
0

これまでセレクタを行っていましたが、なぜ今回は動作しないのかわかりません。私は2つのベクトルdrawableを持っており、計画はクリックの間にそれらの間で変更することです。 私は、次のセレクタファイル作成しました:セレクタがベクタ付きのチェックボックスで動作しない

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/ic_vector_favorite" 
      android:state_checked="true" 
      android:state_selected="true"/> 

    <item android:drawable="@drawable/ic_vector_favorite_border" 
      android:state_checked="false"/> 
</selector> 

をそしてこれが私のチェックボックスである:私はそれをクリックすると、

<CheckBox 
      android:id="@+id/checkBox" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="@dimen/ic_phone_margin" 
      android:button="@drawable/ic_favorite_selector" 
      app:layout_constraintBottom_toBottomOf="parent" 
      app:layout_constraintEnd_toStartOf="@+id/iv_call" 
      app:layout_constraintTop_toTopOf="parent"/> 

しかし、何も変わりません。私はandroid:checked="true"で試しましたが、それはまだ同じです。

答えて

1

セレクターからandroid:state_selected="true"を削除するだけで済みます。それはちょうどよいはずです

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/ic_vector_favorite" 
      android:state_checked="true"/> 

    <item android:drawable="@drawable/ic_vector_favorite_border" 
      android:state_checked="false"/> 
</selector> 
関連する問題