我在适配器类中初始化了片段中的切换按钮,它用作收藏夹列表按钮,如果单击该产品,它将产品添加到firebase数据库中,然后再次单击将其删除。
addToCart.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (customer.userId != null) {
mFirebaseDatabase = FirebaseDatabase.getInstance();
mCustomerRefernce = mFirebaseDatabase.getReference().child("Favorite").child(customer.userId);
cmObej = getItem(position);
if (isChecked) {
mCustomerRefernce.child(cmObej.getId()).setValue(true);
addToCart.setBackgroundDrawable(ContextCompat.getDrawable(getContext(), R.drawable.ic_filledstar_blue2_24dp));
} else {
mCustomerRefernce.child(cmObej.getId()).removeValue();
addToCart.setBackgroundDrawable(ContextCompat.getDrawable(getContext(), R.drawable.ic_star_border_blue2_24dp));
}
}else{
new AlertDialog.Builder(getContext())
.setTitle("Alert")
.setMessage("Can't add to the list, do you want to sign in?")
.setCancelable(true)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent i = new Intent(getContext(), Signin2.class);
getContext().startActivity(i); }
}).setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).show();
}
}
});
问题在于,每当点击新活动时,都会初始化您的行为
V/FA: Activity paused, time: 9574193
V/FA: onActivityCreated
V/FA: Activity resumed, time: 9574270
您认为问题出在哪里?
答案 0 :(得分:0)
在现有活动之上出现对话框时,现有活动将通过调用onPause()
进入部分不可见状态。
如果用户从暂停状态(在这种情况下为关闭的对话框)返回到您的活动,则系统将恢复该活动并调用onResume()
方法。
您的活动嵌入片段,onActivityCreated将在活动恢复时被调用。