0

以下代码抛出 a 是NullPointerException因为ArrayList未正确转换为数组。该数组应该传递给另一个活动。这是有效的,因为我可以传递一个正则String[],但是当我尝试将一个转换ArrayList为数组时,我得到了错误。转换ArrayList为数组的正确方法是什么?

String[] tmpHtml = new String[(siteElements.size())];
tmpHtml = (String[]) siteElements.toArray();
Intent returnResult = new Intent();
returnResult.putExtra("elements", tmpHtml);
setResult(RESULT_OK, returnResult);
finish();
4

2 回答 2

3

您将 ArrayList 转换为 String 数组的方式是错误的。正确的方法是:

tmpHtml = siteElements.toArray(tmpHtml);
于 2013-03-14T01:34:13.490 回答
0

Changwei Yao的回答会起作用,但为什么不呢

// put to intent
returnResult.putStringArrayListExtra("elements", siteElements);
// Get from intent
returnResult.getStringArrayListExtra("elements");
于 2013-03-14T01:56:47.447 回答