[Android]FloatingActionButtonを押してもアイコン画像が変わらない場合の対処法

このページには広告が含まれる場合があります。

 

浮いたボタンパーツである「FloatingActionButton(FAB)」はImageViewの子供で、setImageResourceメソッドが使えるので

例えば、こんな感じで、FABをクリックしたら画像を切り替えることができるはずなのですが、

if (isSoundEnabled!!) {
    floatingActionButton.setImageResource(R.drawable.ic_volume_up_black_24dp)
} else {
    floatingActionButton.setImageResource(R.drawable.ic_volume_off_black_24dp)
}

なぜか、こんな感じで画像が切り替わってくれない(FloatingActionButton#setImageResourceが効いてくれない)場合があります。

 

FABを一旦消して(hide)再表示させる(show)とうまくいくらしい

公式ドキュメントで記述が見つけられなかったので、このサイトを参考にさせて頂きました。

 

おそらくバグではないかとのことですが、解決策としては、表示されているFloatingActionButton(FAB)を一旦消して、再表示させると画像がちゃんと表示されるようになる(setImageResourceメソッドが効く)ようになるそうです。

if (isSoundEnabled!!) {
    floatingActionButton.apply{
        hide()  ← 一旦消して(隠して)
        setImageResource(R.drawable.ic_volume_up_black_24dp) ← 画像をセットしてから
        show() ← 再表示させる
    }
} else {
    floatingActionButton.apply{
        hide()
        setImageResource(R.drawable.ic_volume_off_black_24dp)
        show()
    }
}

 

こんな感じで。

(詳しくは下の動画で解説していますので、よろしければご覧ください)

こんな記事も読まれています

人気No.1

前向きな気持ちになれる 占星術・タロットリーディング

あすコロ式・相談サロン 【ナビるやん】

人に言えない悩みから使命・運勢診断まで、あなたに寄り添いながら“ナビゲート”する、あすコロ人気No.1のオンライン相談サロン。占星術・心理学・タロットの叡智を活かし、普段認識していない「潜在意識」にアクセスしてあなたの気づいていない可能性を拓かせ、明日から前向きに歩めるようになる60分のリーディングセッション。

今すぐ詳細を見る(メルマガ登録で初回半額) ▶

TOP