當我啓動我的活動我把這段代碼的尺寸的增加:如何在TextView中顯示我的列表
size = getSize();
readRSSEvent(str);
if(getSize()-size>0){
events.setText(""+(getSize()-size));
}
public void readRSSEvent(final String s) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
url_ = new URL(s);
feed_ = RssReader.read(url_);
rssItems_ = feed_.getRssItems();
for (RssItem rssItem : rssItems_) {
item_ = new Item(rssItem.getTitle(), rssItem.getDescription(),
rssItem.getPubDate());
list2.add(item_);
}
} catch (Exception e) {
e.printStackTrace();
}
size = list2.size();
SharedUtilities.getInstance().saveItem2(list2, getApplicationContext());
}
});
thread.start();
}
public int getSize(){
return this.size;
}
但如果裏面的代碼永遠不會奏效,因爲的getSize尺寸總是返回0 我的目標是查找feed並將它們插入列表中,保存列表的大小,如果我的int大小之間的差值大於0,則會提醒用戶注意新事件。 每次啓動應用程序時都要重複一遍。
使用AsyncTask來實現這個...因爲當你設置文本視圖是按順序設置的,但是線程並沒有按順序執行。 –
在創建getSize()返回0,開始時的大小爲0,在readRSSEvent(str)大小爲0並且getSize()爲14之後,則14-0 = 14 ....或者我錯了? –
嘗試使用我已發佈的答案...在函數onPostExecute設置textView然後檢查...發生了什麼... –