1

我在主 Activity 中有这段代码,其中fetchxml有一个 AsyncTask:

String GroupID = PreferenceManager.getDefaultSharedPreferences(MainActivity.this).getString("GroupID","");
fetchxml.execute(GroupID);

在 中doInBackground(String... paras),它是:

protected String doInBackground(String...  paras) {
    Log.d("URL+ paras[0]", paras[0]);
    String xml = parser.getXmlFromUrl(URL+ paras[0]);
    return xml;
}

为什么我没有得到任何价值paras[0]

4

2 回答 2

2

当值为 null 或为空 String 时,Log.d 也不会显示标签。确保 sharedPreferences 返回一个值。似乎键“GroupID”不存在,sharedPreferences 返回默认值,即空字符串“”

于 2012-10-23T22:13:46.023 回答
1

确认您将扩展类定义AsyncTask为:

private class Fetchxml extends AsyncTask<String, Integer, String>{ ...

这里重要的部分是确保上面的第一个参数的类型String与预期的值一致doInBackground

还要确认String GroupID不为空。

于 2012-10-23T22:14:45.437 回答