5
我有几个RSS源需要为我的应用程序解析,我遵循这里的优秀教程:http://w2davids.wordpress.com/android-rssatom-feeds-parsing-with-rome /。我修改了一下这个例子,并且让它做了我所需要的。所以,我将它整合到我的应用程序中,并且每次尝试显示帖子列表时都始终强制退出。我的修改版本的代码如下。将适配器连接到ListView时总会失败,所以我认为我的适配器安装不正确。奇怪的是,在调试器中,我可以查看适配器并查看我想要获取的数据。在Android上解析RSS
在此先感谢:
public class View1 extends Activity
{
/** Called when the activity is first created. */
private final ArrayList<String> list = new ArrayList<String>();
private ListView listView;
private ArrayAdapter<String> adapter = null;
private SyndContent desc;
private ArrayList<String> d = new ArrayList<String>() ;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
adapter = new ArrayAdapter<String>(this, R.layout.dataview, R.id.ListItemView);
getRSS("http://www.example.com/wp/?feed=gigpress&artist=1");
listView.setAdapter(adapter);
listView = (ListView) this.findViewById(R.id.ListView);
listView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long duration)
{
Intent intent = new Intent();
intent.setClassName("com.example.idtb", "com.example.idtb.ViewRssDescription");
intent.putExtra("desc", d.get(position));
startActivity(intent);
}
});
}
private void getRSS(String rss)
{
URL feedUrl;
try
{
Log.d("DEBUG", "Entered:" + rss);
feedUrl = new URL(rss);
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(feedUrl));
List entries = feed.getEntries();
Iterator iterator = entries.listIterator();
while (iterator.hasNext())
{
SyndEntry ent = (SyndEntry) iterator.next();
String title = ent.getTitle();
desc = ent.getDescription();
d.add(desc.getValue());
adapter.add(title);
}
adapter.notifyDataSetChanged();
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
}
catch (FeedException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
最终找到了问题...福利局错误引用了错误的内容查看和抓错了控制ID 。废话。 – voodoobilly 2011-01-11 23:06:19