我收到以下错误:
错误:
这是代码,请帮我弄清楚我哪里出错?
对于ListRSSItemsActivity.java
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
public class ListRSSItemsActivity extends ListActivity
{
private static String TAG_DESRIPTION;
private static String TAG_GUID;
private static String TAG_LINK;
private static String TAG_PUB_DATE;
private static String TAG_TITLE = "title";
ImageButton btnAddSite;
private ProgressDialog pDialog;
RSSFeed rssFeed;
ArrayList<HashMap<String, String>> rssItemList = new ArrayList();
List<RSSItem> rssItems = new ArrayList();
RSSParser rssParser = new RSSParser();
static
{
TAG_LINK = "link";
TAG_DESRIPTION = "description";
TAG_PUB_DATE = "pubDate";
TAG_GUID = "guid";
}
public void onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
setContentView(R.layout.rss_item_list);
String str = getIntent().getStringExtra("candidat");
new loadRSSFeedItems().execute(new String[] { str });
getListView().setOnItemClickListener(new AdapterView.OnItemClickListener()
{
public void onItemClick(AdapterView<?> paramAdapterView, View paramView, int paramInt, long paramLong)
{
Intent localIntent = new Intent(ListRSSItemsActivity.this.getApplicationContext(), DisPlayWebPageActivity.class);
localIntent.putExtra("page_url", ((TextView)paramView.findViewById(R.id.page_url)).getText().toString());
ListRSSItemsActivity.this.startActivity(localIntent);
}
});
}
class loadRSSFeed extends AsyncTask<String, String, String>
{
loadRSSFeed()
{
}
protected String doInBackground(String[] paramArrayOfString)
{
String str1 = paramArrayOfString[0];
ListRSSItemsActivity.this.rssFeed = ListRSSItemsActivity.this.rssParser.getRSSFeed(str1);
Log.d("rssFeed", "rssFeed: " + ListRSSItemsActivity.this.rssFeed);
Log.d("rssFeed", "url: " + str1);
if (ListRSSItemsActivity.this.rssFeed != null)
{
Log.e("RSS URL", ListRSSItemsActivity.this.rssFeed.getTitle() + ListRSSItemsActivity.this.rssFeed.getLink() + ListRSSItemsActivity.this.rssFeed.getDescription() + ListRSSItemsActivity.this.rssFeed.getLanguage());
WebSite localWebSite = new WebSite(ListRSSItemsActivity.this.rssFeed.getTitle(), ListRSSItemsActivity.this.rssFeed.getLink(), ListRSSItemsActivity.this.rssFeed.getRSSLink(), ListRSSItemsActivity.this.rssFeed.getDescription());
HashMap localHashMap = new HashMap();
localHashMap.put(ListRSSItemsActivity.TAG_TITLE, localWebSite.getTitle());
localHashMap.put(ListRSSItemsActivity.TAG_LINK, localWebSite.getLink());
String str2 = localWebSite.getDescription();
if (str2.length() > 100)
str2 = str2.substring(0, 97) + "..";
localHashMap.put(ListRSSItemsActivity.TAG_DESRIPTION, str2);
ListRSSItemsActivity.this.rssItemList.add(localHashMap);
}
ListRSSItemsActivity.this.runOnUiThread(new Runnable()
{
public void run()
{
ListRSSItemsActivity localListRSSItemsActivity = ListRSSItemsActivity.this;
ArrayList localArrayList = ListRSSItemsActivity.this.rssItemList;
String[] arrayOfString = new String[4];
arrayOfString[0] = ListRSSItemsActivity.access$3();
arrayOfString[1] = ListRSSItemsActivity.access$2();
arrayOfString[2] = ListRSSItemsActivity.access$4();
arrayOfString[3] = ListRSSItemsActivity.access$5();
SimpleAdapter localSimpleAdapter = new SimpleAdapter(localListRSSItemsActivity, localArrayList, R.layout.rss_item_list_row, arrayOfString, new int[] { R.id.page_url, R.id.title, R.id.pub_date, R.id.link });
ListRSSItemsActivity.this.setListAdapter(localSimpleAdapter);
}
});
return null;
}
protected void onPostExecute(String paramString)
{
ListRSSItemsActivity.this.pDialog.dismiss();
}
protected void onPreExecute()
{
super.onPreExecute();
ListRSSItemsActivity.this.pDialog = new ProgressDialog(ListRSSItemsActivity.this);
ListRSSItemsActivity.this.pDialog.setMessage("Fetching RSS Information ...");
ListRSSItemsActivity.this.pDialog.setIndeterminate(false);
ListRSSItemsActivity.this.pDialog.setCancelable(false);
ListRSSItemsActivity.this.pDialog.show();
}
}
class loadRSSFeedItems extends AsyncTask<String, String, String>
{
loadRSSFeedItems()
{
}
protected String doInBackground(String[] paramArrayOfString)
{
String str1 = paramArrayOfString[0];
ListRSSItemsActivity.this.rssItems = ListRSSItemsActivity.this.rssParser.getRSSFeedItems(str1);
Iterator localIterator = ListRSSItemsActivity.this.rssItems.iterator();
while (true)
{
if (!localIterator.hasNext())
{
ListRSSItemsActivity.this.runOnUiThread(new Runnable()
{
public void run()
{
ListRSSItemsActivity localListRSSItemsActivity = ListRSSItemsActivity.this;
ArrayList localArrayList = ListRSSItemsActivity.this.rssItemList;
String[] arrayOfString = new String[4];
arrayOfString[0] = ListRSSItemsActivity.access$3();
arrayOfString[1] = ListRSSItemsActivity.access$2();
arrayOfString[2] = ListRSSItemsActivity.access$4();
arrayOfString[3] = ListRSSItemsActivity.access$5();
SimpleAdapter localSimpleAdapter = new SimpleAdapter(localListRSSItemsActivity, localArrayList, R.layout.rss_item_list_row, arrayOfString, new int[] { R.id.page_url, R.id.title, R.id.pub_date, R.id.link });
ListRSSItemsActivity.this.setListAdapter(localSimpleAdapter);
}
});
return null;
}
RSSItem localRSSItem = (RSSItem)localIterator.next();
HashMap localHashMap = new HashMap();
localHashMap.put(ListRSSItemsActivity.TAG_TITLE, localRSSItem.getTitle());
Log.d("Link", localRSSItem.getLink());
localHashMap.put(ListRSSItemsActivity.TAG_LINK, localRSSItem.getLink());
localHashMap.put(ListRSSItemsActivity.TAG_PUB_DATE, localRSSItem.getPubdate());
String str2 = localRSSItem.getDescription();
if (str2.length() > 100)
str2 = str2.substring(0, 97) + "..";
localHashMap.put(ListRSSItemsActivity.TAG_DESRIPTION, str2);
ListRSSItemsActivity.this.rssItemList.add(localHashMap);
}
}
protected void onPostExecute(String paramString)
{
ListRSSItemsActivity.this.pDialog.dismiss();
}
protected void onPreExecute()
{
super.onPreExecute();
ListRSSItemsActivity.this.pDialog = new ProgressDialog(ListRSSItemsActivity.this);
ListRSSItemsActivity.this.pDialog.setMessage("Loading recent articles...");
ListRSSItemsActivity.this.pDialog.setIndeterminate(false);
ListRSSItemsActivity.this.pDialog.setCancelable(false);
ListRSSItemsActivity.this.pDialog.show();
}
}
}
对于rss_item_list.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:background="#ffffffff" android:layout_width="wrap_content" android:layout_height="wrap_content"
>
<ListView android:id="@android:id/list" android:background="#ffffffff" android:layout_width="fill_parent" android:layout_height="wrap_content" android:listSelector="@drawable/list_selector" android:cacheColorHint="#00000000" android:divider="#ffbababa" android:dividerHeight="1.0dip" />
</RelativeLayout>
我正在使用Eclipse&amp; API 19.1 SDK