그냥 작동하지 않는 코드가 있습니다! AsyncTask는 TreeMap을 반환해야합니다. < Integer, List < String>> 그러나 로깅을 통해 보면 그렇지 않습니다. 그냥 붙어있어! "... 반환 따옴표"내가 내를 볼 수있는 로그 캣을 통해AsyncTask가 TreeMap을 반환하지 않습니다.
private class ParseSite extends
AsyncTask<String, Void, Map<Integer,List<String>>> {
Map<Integer,List<String>> quotes;
List<String> tmpInfo;
List<String> tmpText;
@Override
protected Map<Integer,List<String>> doInBackground(String... arg) {
// List<String> output = new ArrayList<String>();
quotes = new TreeMap<Integer,List<String>>();
try {
HTMLHelper hh = new HTMLHelper(new URL(arg[0]));
List<TagNode> qText = hh.getContentByClass("content");
Logger.l(Logger.TAG_DBG, "GOT qText");
List<TagNode> qInfo = hh.getContentByClass("sm");
Logger.l(Logger.TAG_DBG, "GOT qInfo");
tmpInfo = new ArrayList<String>();
tmpText = new ArrayList<String>();
for (Iterator<TagNode> iterator = qText.iterator(); iterator
.hasNext();) {
TagNode divElement = iterator.next();
String tmp = divElement.getText().toString();
tmp = tmp.replaceAll("<", "<");
tmp = tmp.replaceAll(">", ">");
tmp = tmp.replaceAll(""", "" + (char) 34);
tmpText.add(tmp);
Log.i(Logger.TAG_INF, tmp);
}
Logger.l(Logger.TAG_DBG, "tmpText[" + tmpText.size() + "] Filled");
quotes.put(1, tmpText);
for (Iterator<TagNode> iterator = qInfo.iterator(); iterator
.hasNext();) {
TagNode divElement = iterator.next();
String tmp = divElement.getText().toString();
tmpInfo.add(tmp);
Log.i(Logger.TAG_INF, tmp);
}
Logger.l(Logger.TAG_DBG, "tmpInfo[" + tmpInfo.size() + "] Filled ");
quotes.put(2, tmpInfo);
Logger.l(Logger.TAG_DBG, "quotes Filled");
} catch (Exception e) {
e.printStackTrace();
}
Logger.l(Logger.TAG_DBG, "Returning quotes...");
return quotes;
}
@SuppressWarnings("unused")
protected void onPostExecute(List<String> output) {
pd.dismiss();
Logger.l(Logger.TAG_DBG, "Setting adapter...");
listView.setAdapter(new QuotesArrayAdapter(HTMLParser.this,
quotes));
}
}
하지만 난 볼 수 "어댑터 설정 ..."하고해서 ProgressDialog의 PD : 여기
코드입니다 해고하지 않습니다.BTW 죄송합니다. 난 러시아인이야.
'AsyncTask'의 리턴 타입은'Map>입니다 만'onPostExecute'에 대해 선언 한 매개 변수는'List output'입니다. Niek이 말했듯이, 컴파일러는 올바른 매개 변수 유형이 없기 때문에'onPostExecute (...) '메소드가 사용되지 않는다고 경고합니다. –
Squonk