【问题标题】:transferring boolean value between two avtivities [duplicate]在两个活动之间转移布尔值[重复]
【发布时间】:2016-10-06 00:54:31
【问题描述】:

我正在开发一个 android 应用程序,它从另一个活动中调用我的开始活动。因为我正在调用我的第一个活动,所以我不能使用意图来传输布尔变量,所以我创建了我的调用活动的对象并通过它访问数据。 像这样

Activity1 log=new Activity1();
boolean stat=log.aResponse;

我在我的 Activity1 中检查了 aResponse 的值,它的值为 true。 但在我的开始活动中,stat 的值始终为 false。 我在另一个活动(这不是我的第一个活动)中尝试了相同的代码,因为我获得的值也是假的。请任何人帮助我。

【问题讨论】:

  • 你应该先谷歌这个..!!看到这个:stackoverflow.com/q/2091465/6127411.
  • 你永远不想手动实例化一个 Activity
  • 我很困惑为什么你不能使用Intent
  • 我无法使用意图,因为 Activity1 正在调用我的应用程序的第一个活动。如果我使用意图,则无法启动应用程序。
  • 即使你想启动你的第一个活动,你仍然可以使用一个意图..

标签: java android android-intent parameter-passing


【解决方案1】:

您可以通过以下方式简单地调用您的启动活动:

Intent i = new Intent(Activity1.this, StartingActivity.class);
i.putExtra("varName", variable);//values you want to carry
startActivity(i);

【讨论】:

  • 如果您的应用程序使用此代码崩溃,请发布崩溃日志以了解可能的原因..
  • 但该代码会使我的应用程序崩溃。因为在第一次运行时,StartingActivity 没有任何接收意图(因为它是第一个启动的活动)
  • 不,不是这样的。它将接收意图以及您在捆绑中传递的值..崩溃的原因是其他的..
  • 解决了这个问题,谢谢。
【解决方案2】:

这是一个糟糕的方法。你应该回到基础。工作流程应该是这样的:

Intent i = new Intent(this, YourNextActivity.class);
i.putExtra("varName", variable);
startActivity(i);

然后获取YourNextActivity中的值:

boolean defaultValue = false;
boolean varName = getIntent().getBooleanExtra("varName",defaultValue)

【讨论】:

  • 我试过了。如果这样做我的应用程序崩溃,因为 Activity1 正在调用我的应用程序的启动活动
猜你喜欢
  • 2017-05-12
  • 1970-01-01
  • 2012-10-06
  • 2018-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多