您好,祝大家好运。
我在项目中使用Intent Activity。并且有它的错误。 如下:我有一个活动顺序列表:
A(主要) - > B(登录或注册) - > C(菜单) - > D(ListFoodOfMenu) - > Ë (详情食品)
从A-B-C-D或以许多不同的顺序不会发生 错误。
但是,由于D-E有错误,我为xml设置了背景 布局在整个应用程序中消失,替换为 系统颜色。
谁有解决方案可以帮助我以及如何处理此错误。谢谢。
当没有错误然后UI出错时,这是一个用户界面:
这是我的代码意图:
A-B:
btnSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent moveToSignUp = new Intent(getApplicationContext(), SignUpActivity.class);
startActivity(moveToSignUp);
finishActivity(1);
}
});
btnSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent moveToSignIn = new Intent(getApplicationContext(), SignInActivity.class);
startActivity(moveToSignIn);
finishActivity(1);
}
});
B-C:
Intent moveToHome = new Intent(getApplicationContext(), Home.class);
Common.currentUser = user;
startActivity(moveToHome);
C-d:
//Get CategoryID and send to new Activity:
Intent moveToFoodList = new Intent(getApplicationContext(), FoodListActivity.class);
//Because CategoryID is Key, so we just get key of this item:
moveToFoodList.putExtra("CategoryID", adapter.getRef(position).getKey());
startActivity(moveToFoodList);
d-E:
//Start Activity FoodDetails
Intent moveToFoodDetails = new Intent(getApplicationContext(), FoodDetailsActivity.class);
moveToFoodDetails.putExtra("FoodId", searchAdapter.getRef(position).getKey());
// Send FoodId to FoodDetailsActivity
moveToFoodDetails.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(moveToFoodDetails);
E-D(此时发生了错误):
btnCart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new Database(getApplicationContext()).addToCart(new Order(
"", //Id tự tăng
Common.currentUser.getPhone(),
FoodId,
currentFood.getName(),
numberButton.getNumber(),
currentFood.getPrice(),
currentFood.getDiscount()
));
finish();
Toast.makeText(FoodDetailsActivity.this, "Added To Cart", Toast.LENGTH_SHORT).show();
}
});
我几个月来一直在努力解决这个错误,但仍然无法想象 如何解决它。我们期待Pro的大力帮助。诚挚 感谢。
答案 0 :(得分:2)
这是因为你有图书馆'com.cepheuen.elegant-number-button:lib:1.0.2'
&当您到达background.xml
屏幕时,该库还具有名为background.jpg
的背景资源,覆盖您的 FoodDetailsActivity
。
解决方案:将您的background.jpg
重命名至 background_1.jpg
。
答案 1 :(得分:0)
不要在所有地方使用getApplicationContext()。
使用活动的对象,如SignUpActivity.this或SignInActivity.this。