android studio中Intent Activity的错误。 (自动更改背景)

时间:2018-05-31 06:54:12

标签: android android-layout android-studio android-intent intentfilter

  

您好,祝大家好运。

     

我在项目中使用Intent Activity。并且有它的错误。   如下:我有一个活动顺序列表:

     

A(主要) - > B(登录或注册) - > C(菜单) - > D(ListFoodOfMenu) - > Ë   (详情食品)

     

从A-B-C-D或以许多不同的顺序不会发生   错误。

     

但是,由于D-E有错误,我为xml设置了背景   布局在整个应用程序中消失,替换为   系统颜色。

谁有解决方案可以帮助我以及如何处理此错误。谢谢。

当没有错误然后UI出错时,这是一个用户界面:

UI is not faulty

UI is faulty

这是我的代码意图:

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的大力帮助。诚挚   感谢。

2 个答案:

答案 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。