Android Docs在关于 ID XML 资源
中说:
A unique resource ID defined in XML. [...] which you can use as [...] unique integer for use in your application code (for example, as an ID for a dialog or a result code).
我在 ids.xml
中创建了 request
<item name="request" type="id" />
它的值为-1000003
。我想将它用作 FragmentActivity
中 startActivityForResult
的 requestCode
。但正如所描述的那样here , requestCode
必须是16位,表示范围是从0到65535。所以 request
的值是无效的(它是负数并且也超出了边界范围)。并使用它会导致此错误:
java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode
虽然我可以使用任意有效整数,但在应用程序维护/开发期间可能会违反其唯一性。有没有办法解决这个问题?
最佳答案
您的值为负数,但范围仅为正数。 这个错误可能是因为这个原因
关于android - 使用 "id"作为来自 FragmentActivity 的 "startActivityForResult"的 requestCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54644495/