ListView顯示Sqlite的資料美化版與效能最佳化

來源:互聯網
上載者:User

標籤:

在上一篇文章中,我們已經實現在listview顯示資料庫內容的。但是我們listview中,排版不是很好看,所以這篇文章呢,我們來對listveiw進行美化。哈哈,說白了,就是對listview添加一個布局檔案,然後把布局檔案轉化為view對象顯示出來。

這裡代碼我們不貼全部,就貼上新增加的布局檔案和有做修改的方法。

先看圖片吧。

然後看listview的布局檔案,其實從這個例子,大家可以知道,listview的項目可以顯示很複雜的東西,只要是view對象都是可以顯示的額,只要你的布局檔案寫好了。都可以。

list_layout.xml

<?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="match_parent" >    <TextView        android:textSize="20sp"        android:id="@+id/name"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="名字" />    <LinearLayout        android:layout_alignParentRight="true"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="vertical" >        <TextView            android:id="@+id/age"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="年齡" />        <TextView            android:id="@+id/phone"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="手機" />    </LinearLayout></RelativeLayout>

 MainActivity.java  這裡只貼出修改的地方,其實也就是修改了 getView的幾條語句而已。這裡寫出 getView方法的內容

public View getView(int position, View convertView, ViewGroup parent) {            Girl girl = girList.get(position);         /*    TextView tv = new TextView(MainActivity.this);            tv.setTextSize(18);            //擷取集合中的元素            tv.setText(girl.toString());*/            View v ;            /*             * 做判斷是為了listview的效能最佳化,converView表示一個緩衝區域。             * 在看過的條目,離開螢幕後,其實會被緩衝起來,所以我們沒必要             * 每一次都去 填充,可以先判斷是否有緩衝             *              * */            if(convertView ==null){            //把ListView的布局檔案填充為View對象               v = View.inflate(MainActivity.this, R.layout.list_layout, null);            }else{                v = convertView ;            }            /*v.findViewById(R.id.name);前面加v是因為找的布局檔案元素是listView對象的             * 而v載入的布局檔案就是listview的布局檔案            */            TextView name = (TextView)v.findViewById(R.id.name);            name.setText(girl.getName());            TextView age = (TextView) v.findViewById(R.id.age);            age.setText(girl.getAge()+"");            TextView phone = (TextView)v.findViewById(R.id.phone);            phone.setText(girl.getPhone());            return v;        }        

 

ListView顯示Sqlite的資料美化版與效能最佳化

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.