【问题标题】:Error on Intent Activity in android studio. (Automatically change background)android studio 中的 Intent Activity 错误。 (自动改变背景)
【发布时间】:2018-05-31 06:54:11
【问题描述】:

大家好,祝大家好运。

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

A(主)-> B(登录或注册)-> C(菜单)-> D(ListFoodOfMenu)-> E (详细食物)

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

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

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

这是没有错误时的 UI,然后 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 的大力帮助。真挚地 谢谢。

【问题讨论】:

  • 我用你的代码创建了演示并且工作正常..!能不能详细点
  • 我不知道要提供什么信息。希望大家抓紧时间下载使用看看报错这是链接我的项目:github.com/lexuandu98/TheFoodHouse_Client
  • 我在等你的回复。
  • 你能给我一些虚拟登录凭据吗?!
  • 电话:01655933593 密码:111398

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


【解决方案1】:

这是因为您拥有库 'com.cepheuen.elegant-number-button:lib:1.0.2' 并且该库还具有名为 background.xml 的背景资源,当您到达 FoodDetailsActivity 屏幕时,它会被覆盖 background.jpg

解决方案重命名你的background.jpg background_1.jpg

【讨论】:

  • 好的。谢谢亲。一切都解决了,我很高兴。
  • 如果有帮助,请对此答案投票。编码快乐!
【解决方案2】:

不要在所有地方都使用 getApplicationContext()。

使用 Activity 的对象,例如 SignUpActivity.this 或 SignInActivity.this。

【讨论】:

  • 好的。让我试着告诉你结果
  • 我试过改了,结果还是不行。期待您为我提供更多方向
  • 我不知道要提供什么信息。希望您能花时间下载并使用查看错误这是链接我的项目:github.com/lexuandu98/TheFoodHouse_Client 您可以登录:电话:01655933597 密码:111398
  • 好的。谢谢PRO帮助我。我从@buzzingsilently 找到了正确答案
猜你喜欢
  • 2017-03-08
  • 2021-11-07
  • 1970-01-01
  • 2016-12-02
  • 1970-01-01
  • 2017-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多