-
異步加載 接上一筆記 4. NewsAdapter的創(chuàng)建 (略) 5. 最后在NewsAsyncTask的onPostExecute()方法中要設(shè)置相應(yīng)的adapter給ListView protected void onPostExecute(List<NewsBean> newsBeanList) { // TODO Auto-generated method stub super.onPostExecute(newsBeanList); //這里的newsBeanList是在doInBackground()方法中返回的 NewsAdapter newsAdapter = new NewsAdapter(MainActivity.this, newsBeanList); mListView.setAdapter(newsAdapter); }查看全部
-
異步加載 1. 主線程中不能做耗時(shí)操作,只能更新UI 下面的例子 2. 獲取jsonData url = http://idcbgp.cn/api/teacher?type=4&num=30 下面的openStream參數(shù)是從URL參數(shù)中new URL(url).openStream()獲取的。 private String readStream(InputStream openStream) { InputStreamReader isr; String result = ""; try { String line = ""; //將InputStream類的字節(jié)流轉(zhuǎn)換成字符流 isr = new InputStreamReader(openStream, "utf-8"); //轉(zhuǎn)存在BufferedReader中 BufferedReader br = new BufferedReader(isr); while((line = br.readLine())!=null) { result+=line; } } return result; } 3. 解析json數(shù)據(jù)到List<NewsBean>中 (如圖),通過如下for循環(huán)就可以將jsonString原始字符數(shù)據(jù)導(dǎo)入到每個(gè)NewsBean對(duì)象中。 for (int i = 0; i<jsonArray.length(); i++) { jsonObject = jsonArray.getJSONObject(i); newsBean = new NewsBean(); //從jsonObject中得到每個(gè)元素?cái)?shù)據(jù)給newsBean newsBean.image = jsonObject.getString("picSmall"); newsBean.title = jsonObject.getString("name"); newsBean.content = jsonObject.getString("description"); newsBeanList.add(newsBean); } 最后通過newsBeanList.add(newsBean)組成一個(gè)List<NewsBean>對(duì)象,這是構(gòu)成Adapter適配器的原始數(shù)據(jù)。查看全部
-
避免listview滑動(dòng)時(shí)圖片錯(cuò)亂,使用setTag查看全部
-
練習(xí)URL地址: http://idcbgp.cn/api/teacher?type=4&num=30查看全部
-
講的不錯(cuò),贊一個(gè)查看全部
-
biji1查看全部
-
android異步加載總結(jié)查看全部
-
結(jié)束了,看完了,給老師贊一個(gè)^ω^。查看全部
-
講的真心不錯(cuò),特別是緩存處理,和錯(cuò)位的解決查看全部
-
1.least recently used cache 2.getByteCount查看全部
-
避免listview滑動(dòng)時(shí)圖片錯(cuò)亂,setTag終于有用了!查看全部
-
網(wǎng)絡(luò)獲取字符串格式數(shù)據(jù),簡(jiǎn)單粗暴!查看全部
-
圖片還需要再一次異步操作加載查看全部
-
緩存,避免重復(fù)下載,節(jié)省流量;提高listView流暢度查看全部
-
老師,講的真好,查看全部
舉報(bào)
0/150
提交
取消