Must specify unique android:id, android:tag, or have a parent with an id for XXXXFragment

本文解析了在布局文件中使用Fragment时出现的IllegalArgumentException异常,强调了为Fragment指定唯一ID的重要性,并提供了三种设置ID的方法:使用android:id属性、android:tag属性或依赖于容器视图的ID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

布局文件

<fragment
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:name="XXXFragment"></fragment>

发生的异常

Caused by: java.lang.IllegalArgumentException: 
Binary XML file line #8: Must specify unique android:id,
 android:tag, or have a parent with an id for XXXnFragment

官方文档有这样一句话

:每个片段都需要一个唯一的标识符,重启 Activity 时,系统可以使用该标识符来恢复片段(您也可以使用该标识符来捕获片段以执行某些事务,如将其移除)。 可以通过三种方式为片段提供 ID:

  • 为 android:id 属性提供唯一 ID。
  • 为 android:tag 属性提供唯一字符串。
  • 如果您未给以上两个属性提供值,系统会使用容器视图的 ID。

原因:没有添加id

解决办法:加上id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值