2017-12-03 19 views
-1

私は、recyclerViewsで異なる3つのアクティビティを含むアプリを持っています。 すべてのセルには灰色の星形ボタンが含まれています。 ユーザーがボタンを押すと黄色になります。recyclerlerviewのボタンの押された状態を維持する方法は?

holder.starBtn.setImageDrawable(ContextCompat.getDrawable(activity,android.R.drawable.btn_star_big_on)); 

私はシナリオを説明します。

  • ユーザーがactivity2であり、彼は、次の3つのボタンを押すと、彼らは黄色になります。

  • ユーザーがアクティビティ2からアクティビティ3に移動し、アクティビティ3からアクティビティ2に戻るとアクティビティ2に戻ります。押されたボタンはまだ黄色です。

  • ですが、ユーザーがアクティビティ2からアクティビティ1に移動してアクティビティ2に戻ると、 が再び灰色になります。

質問どのように押されたボタンの状態を維持できますか?どうすればそれらを黄色に保つことができますか? なぜ、ユーザーが前方に移動し、後方に移動しない場合にのみ状態が保持されるのですか?

私が持っている唯一のアイデアは、sqliteデータベースの押されたボタンの位置を保存することですが、recyclerViewの押されたボタンの状態を維持する別の方法がありますか?

答えて

0

唯一の方法は、状態をデータベースまたはシングルトンに格納することです。この方法では、リストのデータソースをアクティビティの変更によって保持できる場所に格納することができます。

関連する問題