Android 如何使imagebutton在移出活动时保持永久性?

Android 如何使imagebutton在移出活动时保持永久性?,android,firebase-storage,Android,Firebase Storage,我正在尝试制作一个应用程序,其中有许多城市,我想添加最喜欢的城市。我通过在城市图像下方制作一个心形按钮来实现这一点。单击“收藏夹”按钮时,按钮将变为粉红色。就像Instagram一样。但每当我搬出选定的城市时,按钮就会回到正常状态。我希望它被选为收藏夹。我所做的是,每当单击按钮时,它都会添加到收藏夹中,再次单击时,它会从收藏夹中删除。请有人能帮忙吗?这是我的代码CitySelectedActivity.java private String PICK_CITYSELECTED=" "; pri

我正在尝试制作一个应用程序,其中有许多城市,我想添加最喜欢的城市。我通过在城市图像下方制作一个心形按钮来实现这一点。单击“收藏夹”按钮时,按钮将变为粉红色。就像Instagram一样。但每当我搬出选定的城市时,按钮就会回到正常状态。我希望它被选为收藏夹。我所做的是,每当单击按钮时,它都会添加到收藏夹中,再次单击时,它会从收藏夹中删除。请有人能帮忙吗?这是我的代码CitySelectedActivity.java

 private String PICK_CITYSELECTED=" ";
private ImageView imageView;
private StorageReference mStorage;
private TextView mTextView;
private ViewPager viewPager;
//int[] mResources={R.drawable.manali,R.drawable.manali2,R.drawable.manali3,R.drawable.manali4};
CustomSwipeAdapter adapter;
private static int currentpage=0;
private static int numpages=0;
private int[] img;
private FirebaseDatabase firebaseDatabase;
private DatabaseReference databaseReference;
private TextView textView;
private ImageButton favouriteBtn;
private boolean showingFirst=true;
private SharedPreferences pref;








@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_city_selected);
    mStorage= FirebaseStorage.getInstance().getReference();
    Intent intent=getIntent();
    PICK_CITYSELECTED=intent.getExtras().getString("PICK_CITY");
    Toast.makeText(this, PICK_CITYSELECTED, Toast.LENGTH_SHORT).show();
    final Boolean isFirstRun=getSharedPreferences("PREFERENCE",MODE_PRIVATE).getBoolean("isFirstrun",true);
    favouriteBtn=(ImageButton) findViewById(R.id.buttonfav);
    favouriteBtn.setImageResource(R.drawable.like24);
    favouriteBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           if(showingFirst==true)
           {
               getSharedPreferences("PREFERENCE",MODE_PRIVATE).edit().putBoolean("isFirstrun",false).apply();
               favouriteBtn.setImageResource(R.drawable.likepink24);
               //showingFirst=false;
           }
           else
           {
               favouriteBtn.setImageResource(R.drawable.like24);
               showingFirst=true;
           }
        }
    });
这是我的Xml文件activity\u city\u selected.Xml的代码

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.srushtee.dummy.CitySelectedActivity"
android:fillViewport="true"
>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/relativelayout1">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/relativelayout"
    android:layout_marginBottom="20dp">
    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:id="@+id/view_pager"
        tools:layout_editor_absoluteY="8dp"
        tools:layout_editor_absoluteX="8dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />
    <me.relex.circleindicator.CircleIndicator
        android:layout_width="match_parent"
        android:layout_height="10dp"
        android:layout_alignBottom="@+id/view_pager"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="10dp"
        android:id="@+id/indicator">

    </me.relex.circleindicator.CircleIndicator>

</RelativeLayout>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|center"
    android:layout_alignParentBottom="true"
    android:layout_alignBottom="@+id/relativelayout1"
    android:gravity="bottom"
    android:id="@+id/linearLayout2">
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/continue_booking"
        android:text="Continue Booking"
        android:layout_weight="1"/>

</LinearLayout>

    <ImageButton
        android:id="@+id/buttonfav"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/linearLayout2"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="205dp"
        android:background="@null" />

</RelativeLayout>


1。创建一个新的类文件。我把它命名为ConstantNames.java

这是ConstantNames.java文件的代码

(nameArrayList是静态的,因此在关闭应用程序后也将包含值)


我不明白。这会有什么帮助?
public class ConstantNames {
    public final static HashSet<String> nameArrayList=new HashSet<>();
}
oneImageButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               ConstantNames.nameArrayList.add("your_value_name");
                Toast.makeText(Main2Activity.this, "saved", Toast.LENGTH_SHORT).show();
            }
        });