安卓開發1——活動與Intent的使用
實驗內容:
1、設計一個新聞類用於儲存新聞內容,如:
class News{
public String title;
public String content;
public String Source;
public String Time;
}
2、讓程式預設載入ListActivity,建立長度為2的News物件陣列,併為其硬編碼賦值,將兩個陣列元素中的值分別載入到兩個新聞列表項中
3、點選列表項,進入Detail,使用Intent將該列表項對應的News物件值傳入,並顯示在介面中
4、進入DetailActivity和退出DetailActivity時,分別記錄時間,如果使用者停留時間超過30秒,則向List傳值,表示該新聞已讀,ListActivity將標記為已讀的文字顯示為灰色
實驗過程:
1、建立ListActivity和DetailActivity兩個活動,分別對應activity_list和activity_detail佈局。首先設計介面佈局,activity_list為新聞列表佈局,activity_detail為新聞詳情佈局,總體採用線性佈局,佈局如下:
2、在包下新建一個News的java類,用於儲存新聞內容,程式碼如下。
public class News { public String title; public String content; public String Source; public String Time; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getSource() { return Source; } public void setSource(String source) { Source = source; } public String getTime() { return Time; } public void setTime(String time) { Time = time; } }
3、將ListActivity註冊為主活動,並在程式碼中建立長度為2的News物件陣列。並將新聞的資訊資料載入到對應的新聞列表中。
4、在主活動中點選某個新聞,進入DetailActivity,中間用Intent傳遞新聞資料並顯示在介面中。
5、在進入DetailActivity和退出DetailActivity時,分別記錄時間,並求出差值,若超過30秒(此處我將時間改為了5秒),則將該新聞加入List,在主活動中對包含在List中的新聞列表進行灰色顯示。
DetailActivity中新增程式碼:
新聞首頁效果: 點選第一條新聞進入新聞詳情頁:
達到瀏覽時間後返回新聞列表,已讀新聞標題字型變為灰色: