0

リストを上にドラッグしてすべてのリスト項目を表示しようとすると、このようなエラーが発生します。これはバックグラウンドで動作する私の AsyncTask です。エラーのないヒントを教えてください.... この asyncTask は、サービスによって数秒で呼び出されます。

    @Override
    protected ArrayList<HashMap<String, String>> doInBackground(
            String... args) {
        String url = args[0];
        rssItems = rssParser.getRSSFeedItems(url);
        FeedDBHandler rssDb = new FeedDBHandler(getApplicationContext());
        // RSSItem rssItem;
        rssItems.size();
        Log.i("size", "size:" + rssItems.size());

        for (RSSItem item : rssItems) {
            // creating new HashMap
            HashMap<String, String> map = new HashMap<String, String>();

            // Truncating description
            String description = item.getDescription();
            if (description.length() > 100)
                description = description.substring(3, 97) + "..";

            // Store in database
            rssItem = new RSSItem(item.getTitle(), item.getLink(),
                    item.getCategory(), description, item.getPubdate());

            // check if not exist -notify and insert
            if (!rssDb.isExistItem(item.getLink())) {
                createNotification(item.getTitle());
                rssDb.addFeed(rssItem);
            }
            createNotification(item.getTitle());
            if (map != null) {
                map.put(TAG_TITLE, item.getTitle());
                map.put(TAG_LINK, item.getLink());
                map.put(TAG_CATEGORY, item.getCategory());
                map.put(TAG_DESRIPTION, description);
                map.put(TAG_PUB_DATE, item.getPubdate());

                rssItemList.add(map);
            }
        }

        return rssItemList;
    }

    @Override
    protected void onPostExecute(ArrayList<HashMap<String, String>> rssItemList) {
        ListAdapter adapter = new SimpleAdapter(AndroidRSSReaderList.this,
                rssItemList, R.layout.rss_item_list_row,
                new String[] { TAG_LINK, TAG_TITLE, TAG_DESRIPTION,
                        TAG_PUB_DATE }, new int[] { R.id.page_url,
                        R.id.title, R.id.link, R.id.pub_date });

        // updating listview
        lv.setAdapter(adapter);
        lv.deferNotifyDataSetChanged();
        // lv.onDataSetChanged();

        // dismiss the dialog after getting all products
        // pDialog.dismiss();

    }
}

前もって感謝します...

4

1 に答える 1