这里是我的调试视图的screenshot。在变量视图中清晰可见intupData
包含与KEY_ISSUE_ID
(issue.id
)对应的键的值,但是
inputData.getString(KEY_ISSUE_ID)
结果为null
。更奇怪的是,在其他Workers
中,完全相同的代码也能很好地工作。是否有任何警告可能导致这种行为?
顺便说一句。该工作程序的不同之处在于,它与其他工作程序以ArrayCreatingInputMerger
捆绑在一起。根据doc,它应该接收这些工作程序的输出作为输入。但它似乎不接收这些数据。
父OneTimeWorkRequests的输出作为输入传递给子代。
根据ArrayCreatingInputMerger
documentation:
- 如果这是我们第一次遇到密钥:
- 如果是数组,则将其放在输出中
- 如果它是原始类型,请将其转换为大小为1的数组,并将其放入输出中
因此,您的ArrayCreatingInputMerger
具有大小为1的字符串数组,而不是字符串。
因此,您想使用inputData
并获得该数组的第一个元素(如果您只关心第一个元素):
getStringArray()