-
。。。。。逗比式沒有任何優化處理,每次都創建新的View設置空間,效率及其低下查看全部
-
layoutinflate 實現將文件轉化為布局查看全部
-
......查看全部
-
ViewHolder優化BaseAdapter思路查看全部
-
創建內部類ViewHolder,成員變量即ImageView imageView,TextView title,TextView content.避免重復的findViewById操作,若convertView為空則通過viewHolder的成員變量將findViewById到的控件保存起來,并將convertView.setTag(viewHolder),建立一個convertView和viewHolder之間的關聯關系;若convertView不為空,則可直接通過viewHolder=(ViewHolder)convertView.getTag;獲取viewHolder中保存的控件,用viewHolder的成員變量設置查看全部
-
baseAdapter基本結構查看全部
-
ListView的顯示與緩存機制查看全部
-
普通式相比于逗比式只是將每次循環中自己創建的view換成getView方法中參數的convertView,調用getView方法先判斷view是否為空,不為空表示已經加載過了存在于緩沖池中,不需要重新創建新的View類對象來轉換布局文件,布局文件轉換為View類對象也需要消耗不小的資源查看全部
-
新建數據適配器: 1.創建一個MyAdapter.java類,繼承BaseAdapter,成員變量mList,在MyAdapter的構造方法中保存傳進來的List<ItemBean>類型的數據源。 2.getCount()方法返回ListView需要顯示的數據數量 mList.size()獲取數據源的數據數量 getItem()方法取指定索引的數據項,mList.get(position)獲取position getItemId()方法獲取索引項,直接返回position getView()方法返回數據項顯示的內容:/*逗比式,不考慮優化,每次創建新的view,效率低下*/ *通過LayoutInflater方法將一個xml文件轉換為view對象(之后才能進行控件的初始化findviewbyid操作) ----成員變量LayoutInflater mInflater;//布局裝載器對象 ----mInflater=LayoutInflater.from(context);//context是要使用當前的Adapter的界面對象 *View view=mIflater.inflate(R.layout.item,null) *對封裝的控件分別進行初始化操作 3.MainActivity中初始化ListView控件,并配置適配器listView.setAdapter(new MyAdapter(this,itemBeanList));查看全部
-
基本結構查看全部
-
數據適配器查看全部
-
*創建一個ItemBean.java文件來封裝ListView中的控件。 并在封裝文件中寫構造函數對成員變量進行初始化。 *創建數據源時,將數據源的類型直接定義為List<ItemBean>,List<ItemBean> itemBeanList=new ArrayList<>();再用循環給ListView的每一行進行賦值。查看全部
-
RelativeLayout布局中,可以通過多個屬性來擺放控件的位置??梢韵萾oEndof,再layout_below查看全部
-
ListView和GridView的緩沖機制:用則顯示,滑出屏幕之后則放入緩沖區,需要使用再取出,節省了系統資源。查看全部
-
ViewHolder優化BaseAdapter思路查看全部
舉報
0/150
提交
取消