使用"id"作为请求从片段活动"startActivityForResult"代码



Android文档介绍ID XML resource:

在XML中定义的唯一资源ID。[…],您可以将其用作应用程序代码中使用的[…]唯一整数(例如,作为对话框或结果代码的ID)。

我在ids.xml中创建了request

<item name="request" type="id" />

其值为-1000003。我想用它作为FragmentActivitystartActivityForResultrequestCode。但正如这里所描述的,requestCode必须是16位,这意味着范围从065535。所以request的值是无效的(它是负的,也超过了界限范围)。使用它会导致以下错误:

java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode

虽然我可以使用任意有效整数,但在应用程序维护/开发过程中可能会违反其唯一性。有办法解决这个问题吗?

您的值是负数,但范围仅为正数。这个错误可能是因为这个原因

最新更新