【发布时间】:2019-01-24 06:28:02
【问题描述】:
大家好,我正在 Firebase 的帮助下制作一个 android 应用程序。该应用程序运行良好,但自从我尝试添加收藏按钮的功能后,我无法从代码的“添加收藏”部分中找出错误。 current_state="不是 av" 以上部分说明了用户当前的收藏状态。 以下代码用于“添加收藏”部分。
Holder.mFavourites.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (current_state.equals("not fav")){
mFav.child(puid).child(kk).child("fav_status").setValue("Added as " +
"fav").addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Holder.mFavourites.setImageDrawable(getContext().getDrawable(R.drawable.ic_star_black));
current_state = "fav";
Toast.makeText(getContext(),"Added to favourites",Toast
.LENGTH_SHORT).show();
}
});
}else if (current_state.equals("fav")){
mFav.child(puid).child(kk).removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
Holder.mFavourites.setImageDrawable(getContext().getDrawable(R.drawable.ic_star_border_black_24dp));
current_state = "not fav";
Toast.makeText(getContext(),"Removed from favourites",Toast
.LENGTH_SHORT).show();
}
}
});
}
}
});
上面的代码有问题- 1.每当用户第一次点击代码。他被添加到收藏夹,如果他再次点击同一个按钮,那么他将从收藏夹中删除,但如果用户在点击一次后(即被添加为收藏夹之后)继续并再次点击添加到收藏夹按钮,那么无论用户是否在收藏夹数据库中,都会显示从收藏夹中删除的 toast。
【问题讨论】:
标签: android firebase firebase-realtime-database