我将项目类组织在多个 src 文件夹中,这些文件夹一直运行良好,直到我更改了活动之间的切换,现在将字符串传递合并到以下活动中。我认为问题与类路径有关。
Bundle bundle = new Bundle();
bundle.putString("email", userEmail);
Intent intent = new Intent(MainActivity.this,
com.fm.mondev.MeanSelection.class);
intent.putExtras(bundle);
startActivity(intent);
[编辑] 我意识到问题与类的路径并不完全相关,即使我目前有 MeanSelection.class 而不是 com.fm.mondev.MeanSelection.class。事实上,问题似乎与捆绑有关。当我在登录和主要活动之间使用它时它可以工作,但不适用于主要活动之后的活动。我还尝试了下面显示的替代方法。我对后续活动进行了相应的编辑。
Intent intent = new Intent(MainActivity.this,
MeanSelection.class);
intent.putExtra("email", userEmail);
startActivity(intent);
我查看了我的 logcat,但我没有发现任何有用的东西。如果我评论 putExtra(s) 行,我知道这有效。
[回答] 在查找了 logcat 的每个错误行并阅读了您的答案后,我意识到通过 Log.d 编写的变量之一存在问题。因此,解决方案是删除这些行,因为它们只是为了验证变量是否是通过捆绑包从先前的活动中正确选择的。我的结论是:从现在开始,我不会记录从一个活动传递到另一个活动的字符串。我不确定这是否真的是 Android 的问题,或者只是其中一个没有可行解释的问题,我们都非常清楚,但是一旦我删除了这些行,我的应用程序就启动并运行了。