【问题标题】:Cannot resolve traspasing parameters FragA to FragB [duplicate]无法解析将参数 FragA 转换为 FragB [重复]
【发布时间】:2018-01-24 21:29:01
【问题描述】:

我需要帮助或建议来解决这个问题

来自片段 A 的代码

   @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     //Origin to send variable

    String valor3;

    Intent intent = new Intent(getActivity(), MainFragment.class);
    Bundle bundle = new Bundle();
    //bundle.putString("row_s",valor3);
    intent.putExtra("row_S",valor3);
    startActivity(intent);
}

来自片段 B 的代码

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = getActivity().getIntent();
    recibeBundle = getActivity().getIntent().getStringExtra("row_s");

   ROW_SIZE = (Integer.parseInt(recibeBundle));

    initData();
}

使用 ROW_SIZE =.. 启动此错误

**//已识别问题 - NPE 尝试在

的空对象引用上调用虚拟方法“int android.os.Bundle.getInt(java.lang.String)”

com.project.ignacio_rvf_bbf.bbf_reporter.MainFragment.onCreate(MainFragment.java:99)**

非常感谢朋友们!

【问题讨论】:

  • 请粘贴 MainFragment.java 的第 99 行 ...
  • 我发现最好使用public static final String 来保持额外名称的一致性!看起来您已经习惯了不同的字符串:“row_s”和“row_S”(大写“S”)。除此之外,您似乎还没有为变量“valor3”赋值。

标签: android android-studio android-intent bundle parseint


【解决方案1】:

您的参数为空,因为键的名称必须相同

例如,在您的第一个活动中,您有:

intent.putExtra("row_S",valor3);

密钥的名称是:“rwo_S”,大写字母 S

在第二个活动中你有:

recibeBundle = getActivity().getIntent().getStringExtra("row_s");

密钥的名称是:“rwo_s”,带有小写的 s。

名称必须相同。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    错误:getIntnull Bundle 对象中被调用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      • 2018-06-08
      • 1970-01-01
      • 2021-07-25
      相关资源
      最近更新 更多