日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 75 新闻列表页面

發布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 75 新闻列表页面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

new.xml

<?xml version="1.0" encoding="UTF-8" ?> <newslist><news><title>黑馬52期就業快報</title><detail>熱烈祝賀黑馬52期平均薪水突破13k</detail><comment>15687</comment><image>http://192.168.1.100:8080/images/6.jpg</image></news><news><title>程序員因寫代碼太亂被殺害</title><detail>兇手是死者同事,維護死者代碼時完全看不懂而痛下殺手</detail><comment>16359</comment><image>http://192.168.1.100:8080/images/7.jpg</image></news><news><title>產品經理因頻繁改需求被殺害</title><detail>兇手是一名程序員,因死者對項目需求頻繁改動而痛下殺手</detail><comment>14112</comment><image>http://192.168.1.100:8080/images/7.jpg</image></news><news><title>3Q大戰宣判: 騰訊獲賠500萬</title><detail>最高法駁回360上訴, 維持一審宣判.</detail><comment>6427</comment><image>http://192.168.1.100:8080/images/1.jpg</image></news><news><title>今日之聲:北大雕塑被戴口罩</title><detail>市民: 因霧霾起訴環保局; 公務員談"緊日子": 堅決不出去.</detail><comment>681</comment><image>http://192.168.1.100:8080/images/2.jpg</image></news><news><title>奧巴馬見是裝蒜</title><detail>外文局: 國際民眾認可中國大國地位;法院: "流量清零"未侵權.</detail><comment>1359</comment><image>http://192.168.1.100:8080/images/3.jpg</image></news><news><title>輕松一刻: 我要沉迷學習不自拔</title><detail>放假時我醒了不代表我起床了, 如今我起床了不代表我醒了!</detail><comment>11616</comment><image>http://192.168.1.100:8080/images/4.jpg</image></news><news><title>男女那些事兒</title><detail>"媽, 我在東莞被抓, 要2萬保釋金, 快匯錢到xxx!"</detail><comment>10339</comment><image>http://192.168.1.100:8080/images/5.jpg</image></news><news><title>趙帥哥語錄一</title><detail>少壯不努力,老大做IT</detail><comment>14612</comment><image>http://192.168.1.100:8080/images/8.jpg</image></news><news><title>趙帥哥語錄二</title><detail>問君能有幾多愁,恰似調完代碼改需求</detail><comment>13230</comment><image>http://192.168.1.100:8080/images/8.jpg</image></news><news><title>趙帥哥語錄三</title><detail>覺得我帥的人工資一般都比較高</detail><comment>9928</comment><image>http://192.168.1.100:8080/images/8.jpg</image></news><news><title>今日之聲:北大雕塑被戴口罩</title><detail>市民: 因霧霾起訴環保局; 公務員談"緊日子": 堅決不出去.</detail><comment>681</comment><image>http://192.168.1.100:8080/images/2.jpg</image></news><news><title>奧巴馬見是裝蒜</title><detail>外文局: 國際民眾認可中國大國地位;法院: "流量清零"未侵權.</detail><comment>1359</comment><image>http://192.168.1.100:8080/images/3.jpg</image></news> </newslist>

?主頁面:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity" ><ListView android:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"></ListView></RelativeLayout>

條目:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content" ><com.loopj.android.image.SmartImageView android:id="@+id/iv"android:layout_width="90dp"android:layout_height="70dp"android:src="@drawable/ic_launcher"android:layout_centerVertical="true" 豎直居中/><TextView android:id="@+id/tv_title"android:layout_width="match_parent"android:layout_height="wrap_content" 和包裹內容一樣,就是和里面的內容一樣android:text="這是大標題志哥教你上塑料adasfsadfdsfdsgsd"android:layout_toRightOf="@id/iv" 右邊android:textSize="22sp"android:singleLine="true" 標題不要換行,多余部分用...顯示/><TextView android:id="@+id/tv_detail"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="這是正文志哥教你帶崩三路adasfsadasdasdasdasidhsakjhdkjashdkjahskjdhsakjdfdsfdsgsd"android:layout_toRightOf="@id/iv"android:layout_below="@id/tv_title"android:textSize="15sp"android:textColor="@android:color/darker_gray"android:lines="2" 只能顯示2行,多余用...顯示 /><TextView android:id="@+id/tv_comment"android:layout_width="wrap_content" 寬度為包裹內容android:layout_height="wrap_content"android:text="65031條評論"android:textColor="#ff0000"android:layout_alignParentRight="true" 位于右邊android:layout_below="@id/tv_detail"/> </RelativeLayout>

Activity:

package com.itheima.xiaozhinews;import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List;import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException;import com.itheima.xiaozhinews.domain.News; import com.loopj.android.image.SmartImageView;import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.app.Activity; import android.util.Xml; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView;public class MainActivity extends Activity {List<News> newsList;Handler handler = new Handler(){public void handleMessage(android.os.Message msg) {ListView lv = (ListView) findViewById(R.id.lv);lv.setAdapter(new MyAdapter());}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);getNewsInfo();//下載新聞xml // ListView lv = (ListView) findViewById(R.id.lv); // //要保證在設置適配器時,新聞xml文件已經解析完畢了 // lv.setAdapter(new MyAdapter()); }class MyAdapter extends BaseAdapter{//得到模型層中元素的數量,用來確定listview需要有多少個條目 @Overridepublic int getCount() {//lv.setAdapter執行的時候就會調用getCount方法就會調用getView方法,//所以要不保證lv.setAdapter執行的時候newsList已經初始化好了,不然就會有空指針,//因此lv.setAdapter執行在子線程中的newsList初始化之后,//由于lv.setAdapter是修改UI所以只能通過子線程發送消息給主線程進行UI修改return newsList.size();}@Override//返回一個View對象,作為listview的條目顯示至界面public View getView(int position, View convertView, ViewGroup parent) {News news = newsList.get(position);View v = null;ViewHolder mHolder;if(convertView == null){v = View.inflate(MainActivity.this, R.layout.item_listview, null);mHolder = new ViewHolder();//把布局文件中所有組件的對象封裝至ViewHolder對象中mHolder.tv_title = (TextView) v.findViewById(R.id.tv_title);mHolder.tv_detail = (TextView) v.findViewById(R.id.tv_detail);mHolder.tv_comment = (TextView) v.findViewById(R.id.tv_comment);mHolder.siv = (SmartImageView) v.findViewById(R.id.iv);//把ViewHolder對象封裝至View對象中 v.setTag(mHolder);}else{v = convertView;mHolder = (ViewHolder) v.getTag();}//利用緩存就不用執行findViewById mHolder.tv_title.setText(news.getTitle());mHolder.tv_detail.setText(news.getDetail());mHolder.tv_comment.setText(news.getComment() + "條評論");//給新聞圖片imageview設置內容 mHolder.siv.setImageUrl(news.getImageUrl());return v;//返回v所以緩存為View }class ViewHolder{//條目的布局文件中有什么組件,這里就定義什么屬性 TextView tv_title;TextView tv_detail;TextView tv_comment;SmartImageView siv;}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return 0;}}private void getNewsInfo() {Thread t = new Thread(){@Overridepublic void run() {String path = "http://192.168.13.13:8080/news.xml";try {URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5000);//連接超時conn.setReadTimeout(5000);//讀取超時//發送http GET請求,獲取相應碼if(conn.getResponseCode() == 200){InputStream is = conn.getInputStream();//使用pull解析器,解析這個流parseNewsXml(is);//之前是文件輸入流,這里直接用服務端的流是一樣的, }} catch (Exception e) {e.printStackTrace();}}};t.start();}private void parseNewsXml(InputStream is) {XmlPullParser xp = Xml.newPullParser();try {xp.setInput(is, "utf-8");//對節點的事件類型進行判斷,就可以知道當前節點是什么節點int type = xp.getEventType();News news = null;while(type != XmlPullParser.END_DOCUMENT){switch (type) {case XmlPullParser.START_TAG:if("newslist".equals(xp.getName())){newsList = new ArrayList<News>();}else if("news".equals(xp.getName())){news = new News();}else if("title".equals(xp.getName())){String title = xp.nextText();news.setTitle(title);}else if("detail".equals(xp.getName())){String detail = xp.nextText();news.setDetail(detail);}else if("comment".equals(xp.getName())){String comment = xp.nextText();news.setComment(comment);}else if("image".equals(xp.getName())){String image = xp.nextText();news.setImageUrl(image);}break;case XmlPullParser.END_TAG:if("news".equals(xp.getName())){newsList.add(news);}break;}//解析完當前節點后,把指針移動至下一個節點,并返回它的事件類型type = xp.next();}//發消息,讓主線程設置listview的適配器,如果消息不需要攜帶數據,可以發送空消息系統自動創建消息。handler.sendEmptyMessage(1);} catch (Exception e) {e.printStackTrace();}} }

?

轉載于:https://www.cnblogs.com/yaowen/p/4928872.html

總結

以上是生活随笔為你收集整理的android 75 新闻列表页面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。