Android Docs говорят примерно в ID XML resource
:
уникальный идентификатор ресурса, определенный в XML. [...] который вы можете использовать [...] как уникальное целое число для использования в коде вашего приложения (например, в качестве идентификатора для диалога или кода результата).
Я создал request
в ids.xml
<item name="request" type="id" />
Его значение равно -1000003
. Я хочу использовать его как requestCode
для startActivityForResult
из FragmentActivity
. Но, как описано здесь, requestCode
должно быть 16 бит, то есть диапазон от от 0 до 65535. Таким образом, значение request
недопустимо (оно отрицательное и также выходит за пределы допустимого диапазона). и его использование вызывает эту ошибку:
java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode
Хотя я могу использовать любое допустимое целое число, но его уникальность может быть нарушена во время поддержки/разработки приложения. Есть ли способ решить эту проблему?
result code
(как сказано в документации), а не какrequestCode
- person Vladyslav Matviienko   schedule 12.02.2019requestCode
и после отладки обнаружил, что его значение совпадает со значением другогоrequestCode
, которое было установлено в другом файле. - person hasanghaforian   schedule 12.02.2019Constants.java
, где вы просто определяете все коды запросов, чтобы убедиться, что они уникальны. - person Vladyslav Matviienko   schedule 12.02.2019