首页 > 解决方案 > Android Studio getIntent 从一个活动但不是从其他活动

问题描述

我有一个问题,无论我搜索什么都找不到答案。所以我有 3 个活动:StartActivity、LoginActivity 和 MainActivity 在 StartActivity 我有 2 个按钮:-登录 - 它将我发送到 LoginActivity - 以访客身份继续 - 它将我发送到 MainActivity 在登录活动中我有:

 login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    if(loginUser(false)) {
                        String username = String.valueOf(userName);

                        Intent intent = new Intent(LoginActivity.this, MainActivity.class);
                        intent.putExtra("USERNAME", username);
                        startActivity(intent);
                        finish();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        });

在 MainActivity 我有:

private String username = getIntent().getStringExtra("USERNAME");

但是当我尝试以访客身份登录时,字符串用户名没有任何东西可以得到并给我错误。那么,只有当我从 LoginActivity 打开活动并且从 StartActivity 中的 ContinueAsGuest 按钮打开它时不执行任何操作时,如何才能使字符串用户名 getIntent 呢?

标签: androidandroid-intent

解决方案


StartActivity 中的按钮仅将您作为客人,对吗?如果是这样,代码将如下所示

guestBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    
                        String username = String.valueOf(userName);

                        Intent intent = new Intent(StartActivity.this, MainActivity.class);
                        intent.putExtra("USERNAME", username);
                        startActivity(intent);
                        finish();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            
        });

推荐阅读