首先点击:浮动按钮上的图片将变为填充红色,并将数据提交给Firebase。
第二次点击:浮动按钮上的图像将返回到正好边框,并将从Firebase中删除该项目。
但似乎是我第二次点击从Firebase删除项目无法正常工作。
btnLove.setOnClickListener(new View.OnClickListener() {
boolean showingFirst;
@Override
public void onClick(View v) {
if(showingFirst == true){
btnLove.setImageResource(R.drawable.fav_filled_50);
showingFirst = false;
fav = new Favorites(Common.currentUser.getPhone(),
drinkId,
currentDrink.getName(),
currentDrink.getImage(),
currentDrink.getPrice()
);
favorites.child(Common.currentUser.getPhone()).child(drinkId).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.child(Common.currentUser.getPhone()).exists())
{
favorites.child(Common.currentUser.getPhone()).child(drinkId).removeValue();
favorites.child(Common.currentUser.getPhone()).child(drinkId).setValue(fav);
}
else
{
favorites.child(Common.currentUser.getPhone()).child(drinkId).setValue(fav);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
} else {
btnLove.setImageResource(R.drawable.fav_border_50);
btnLove.setTag(70);
showingFirst = true;
favorites.child(Common.currentUser.getPhone()).child(drinkId).removeValue();
}
}
});
答案 0 :(得分:1)
删除
{{1}}
形成setOnClickListener并将其放入setOnClickListener方法之外。当你点击按钮时,显示第一个将永远是真的,因为你只是创建它。