【问题标题】:Android: parameters from tabActivity to an activity are nullAndroid:从 tabActivity 到活动的参数为空
【发布时间】:2016-07-16 16:54:28
【问题描述】:

我正在使用以下代码将参数从 tabActivity 传递到名为 Eventi 的 AppCompatActivity:

标签活动:

Intent eventi = new Intent(this,Eventi.class);
eventi.putExtra("title,",title);
eventi.putExtra("testo",desc);

这是我用来调用参数的代码我可以从 onStart() 方法中检索到

Eventi AppCompatActivity:

 Bundle extras = getIntent().getExtras();
 String not = extras.getString("title");
 String messaggio = extras.getString("message");

无论如何extras 始终为空。为什么?

【问题讨论】:

  • 尝试使用 onCreate 而不是 onStart() Bundle extras = getIntent().getExtras(); if (extras == null)

标签: android android-intent bundle oncreate


【解决方案1】:

从捆绑包中检索附加内容时应该使用的是...

Bundle extras = getIntent();
String not = extras.getStringExtra("title");
String messaggio = extras.getStringExtra("message");

还要检查你传递的变量是否有值。

【讨论】:

  • 据我所见,getArguments() 被片段使用,而 getIntent() 用于获取额外的意图。我发布的代码行效果很好。试试看
  • 这就是我得到它的地方...stackoverflow.com/questions/4233873/…
【解决方案2】:

首先确保两者都是活动。 然后在 tabActivity : 这里确保title和desc是字符串类型,当你启动Activity时也调试检查它们不为null或为空。

Intent eventi = new Intent(this,Eventi.class);
eventi.putExtra("title,",title);
eventi.putExtra("testo",desc);

Oncreate() 方法中 Eventi AppCompatActivity 中的 Next :

 Bundle extras = getIntent().getExtras();
 String not = extras.getStringExtra("title");
 String messaggio = extras.getStringExtra(***"testo"***);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    相关资源
    最近更新 更多