首页 > 解决方案 > 将值从活动发送到其片段

问题描述

我正在尝试将数据从我的活动类发送到其选项卡片段,但在片段适配器中它没有收到任何数据并产生错误 nullPointerException。

这是我的代码

从活动

Intent receivedIntent = getIntent();
    String tenant = null;
    if ((bundle = receivedIntent.getExtras()) != null) {
        tenant = (String) bundle.get("tenant");
    }

    TabFragment tabFragment = new TabFragment();
    bundle.putString("tenant", tenant);
    tabFragment.setArguments(bundle);

碎片化

Bundle getTenant = this.getArguments();
    if(getTenant != null) {
        tenant = getTenant.getString("tenant");
        System.out.println("Tab fragment: " + tenant);
    }else {
        System.out.println("Tab fragment: null");
    }

寻呼机适配器

case 0:
            TabFragment tabFragment = new TabFragment();
            tabFragment.setArguments(bundle);
            return tabFragment;

标签: androidandroid-fragments

解决方案


在您的片段中执行此操作

if(getArguments() != null) {
    tenant = getArguments().getString("tenant");
    System.out.println("Tab fragment: " + tenant);
}else {
    System.out.println("Tab fragment: null");
}

代替

Bundle getTenant = this.getArguments();
if(getTenant != null) {
    tenant = getTenant.getString("tenant");
    System.out.println("Tab fragment: " + tenant);
}else {
    System.out.println("Tab fragment: null");
}

推荐阅读