程序中的服務器要在一個xml文件中訪問一個Listview,我使用 findviewbyid,但是不能運行,因為它不是一個activity。
然後我在main activity 使用之前的listview創建了一個static var,但是錯誤提示不能創建static的,因為它使用findviewbyid。
我也在main activity 創建了一個函數然後再返回一個listview。代碼看起來可行,但是當程序獲取那個函數時就崩潰了。因為在 log中出現nullpointer錯誤。
誰能告訴我在一個服務器中如何訪問listview?
在 main activity,onCreate 的代碼:
UpdateDisplay();
countdown();
startService(new Intent(this, ss.class));
listview的源碼:
private void UpdateDisplay() //was private and void
{
TextView feedtitle = (TextView) findViewById(R.id.feedtitle);
TextView feedpubdate = (TextView) findViewById(R.id.feedpubdate);
ListView itemlist = (ListView) findViewById(R.id.itemlist);
if (feed == null)
{
feedtitle.setText("No RSS Feed Available");
return;
}
feedtitle.setText(feed.getTitle());
feedpubdate.setText(feed.getPubDate());
ArrayAdapter<RSSItem> adapter = new ArrayAdapter<RSSItem>(this ,android.R.layout.simple_list_item_1,feed.getAllItems());
itemlist.setAdapter(adapter);
itemlist.setOnItemClickListener(this);
itemlist.setSelection(0);
}
這個得異步操作,從服務器獲取數據完成後在構造adapter,然後在activity裡的listview中顯示,你需要把listview的引用傳遞進來就不會空指針了