当前位置: 首页 > 知识库问答 >
问题:

Android碎片无法读取捆绑包。Bundle始终为空

鲁洋
2023-03-14

我编写了一个自定义静态方法来创建我的片段。Fragment是Android.support.v4.app.Fragment类的子类。

public static AddItemFragment newInstance(UUID listId, UUID itemId){

        AddItemFragment fragment=new AddItemFragment();
        Bundle bundle=new Bundle();
        bundle.putSerializable(EXTRA_DATA_LIST_ID,listId);
        bundle.putSerializable(EXTRA_DATA_ITEM_ID, itemId);
        fragment.setArguments(bundle);
        return fragment;
 }
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mListId = (getArguments().getSerializable(EXTRA_DATA_LIST_ID) == null ? null : (UUID) getArguments().getSerializable(EXTRA_DATA_LIST_ID));
    mItemId = (getArguments().getSerializable(EXTRA_DATA_ITEM_ID) == null ? null : (UUID) getArguments().getSerializable(EXTRA_DATA_ITEM_ID));
}    

问题是getArguments()方法从不返回bundle。它总是返回null。我不明白为什么。savedInstanceState也为空。

共有1个答案

高嘉熙
2023-03-14

愚蠢的me用活动的savedInstanceState bundle重写了片段中的bundle集,此时该bundle是null。

嗯...

 类似资料:
  • 我有两个不同的活动,在第一个活动中,我在一些EditText中输入一些信息,然后进入第二个活动,但当我返回时,第一个活动中EditText上的文本消失了。 以下是第一个活动的OnCreate() 我正在使用onSaveInstanceState方法保存信息 在进行调试时,我可以看到确实在onSaveInstanceState方法中填充了savedInstanceState捆绑包,但在OnCreat

  • 我有一个包含多个按钮的活动,当单击一个按钮时,将打开一个包含两个片段的新活动。 我试图根据按下的按钮在其中一个片段中显示一个回收器视图。问题是捆绑包为空,所以回收器视图不显示。 捆绑包在<code>onAttach 碎片 公共类MyFragment扩展片段{

  • 问题内容: 我在新笔记本(Window 7 64位)中下载了新的Android和Eclipse软件包,然后打开了以前在PC中工作的旧文件。打开时,它显示了有关版本API的错误,应该在SDK中修复它Manager,但是当我尝试打开SDK Manager时,它将无法运行,并在控制台中显示此错误。 我该如何解决? 问题答案: 其中有一个名为的批处理文件。它调用以查找潜在的Java位置列表。像这样运行文件

  • 我有一个包在 此文件夹包含: 然后我在中注册: 这样做后,网站根本无法工作。日志上说: PHP致命错误:未捕获错误:在/var/www/html/symproject/app/AppKernel中找不到类“MyCompany\Action\Provider\MyAppProvider\Bundle\MyAppBundle”。php:20\n堆栈跟踪:\n#0/var/www/html/sympro

  • 我已经创建了碎片标准方式(Android工作室生成的骨架)。所以我有newInstance静态方法: 然后,在override中,我需要检索我的集合,非常标准的方式: 问题是集合非常大,因此我得到了异常: java.lang.RuntimeException:Android.os.TransactionToolargeException:数据包大小592196字节 在我的应用程序中的其他地方(奇怪

  • 我还不是一个有经验的OSGi用户,因此我会遇到一些问题。 我正在尝试使用作为外部提供程序,因为我不希望我的包包含所有这些类。 但是,当我运行这组包(my和)时,我得到以下错误: 错误:Bundle org.apache.serviceMix.bundles.hadoop-client[56]错误启动文件:bundles/org.apache.serviceMix.bundles.hadoop-cl

  • 我尝试了stackOverflow中的所有建议--没有任何帮助。通知工作良好,它只是丢失了它的捆绑。 以下是我的悬念: } 有什么想法吗?谢谢!

  • 问题内容: 在我的AEM项目的代码中看似无关紧要的更改之后,我的捆绑软件无法解决。检查日志后,我可以看到出现以下错误。 该项目在本地编译得很好,并且只有在容器尝试解决该捆绑包后,该问题才会出现。 我没有在任何更改中添加任何显式依赖项。项目对象模型与以前相同。顾名思义,这是一个核心Java软件包,因此我希望它会被System软件包公开。 我正在运行AEM支持的JDK 7,所以不要指望它与JVM兼容性