-
猴子青睞的逗比式查看全部
-
BaseAdapter查看全部
-
convertView.getTag()將該convertView對應的viewHolder取出來查看全部
-
利用構造方法初始化變量查看全部
-
通過構造方法來訪問對象的屬性? “構造方法的初衷是完成初始化動作”查看全部
-
為什么當聲明mInflater時,要在MyAdapter()方法中加上Context參數(shù)查看全部
-
普通式查看全部
-
數(shù)據(jù)適配器——BaseAdapter——ViewHolder優(yōu)化BaseAdapter思路 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
小技巧:對于一些細微的程序比較效率用獲取系統(tǒng)納秒時間方法 關鍵代碼: long start =System.nanoTime(); ... long end =System.nanoTime(); long dValue=end-start; 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
BaseAdapter的三樣式 IV //文藝式:不僅利用了ListView的緩存,更通過ViewHolder類來實現(xiàn)顯示數(shù)據(jù)的視圖的緩存,避免多次通過findViewById尋找控件。 ViewHolder viewHolder; if(convertView==null){ viewHolder=new ViewHolder(); convertView=mInflater.inflate(R.layout.item, null); viewHolder.iv=(ImageView) convertView.findViewById(R.id.iv_image); viewHolder.title=(TextView) convertView.findViewById(R.id.tv_title); viewHolder.content=(TextView) convertView.findViewById(R.id.tv_content); convertView.setTag(viewHolder);//通過setTag將ViewHolder與convertView綁定 }else{ viewHolder=(ViewHolder) convertView.getTag();//getTag()取出關聯(lián)的ViewHolder } //通過ViewHolder對象找到對應控件 ItemBean bean=list.get(position); viewHolder.iv.setImageResource(bean.ImageRes); viewHolder.title.setText(bean.title); viewHolder.content.setText(bean.content); return convertView; } class ViewHolder{//避免重復的findViewById public ImageView iv; public TextView title; public TextView content; } } 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
BaseAdapter的三樣式 III //普通式:利用了ListView的緩存特性,如果沒有緩存才創(chuàng)建新的View,算入門,但是findViewById依然會浪費大量時間。 /*if(convertView==null){//為空:View未被實例化,緩存池中無緩存 convertView=mInflater.inflate(R.layout.item, null);//此操作也是非常耗時,避免重復創(chuàng)建大量的convertView } ImageView iv=(ImageView) convertView.findViewById(R.id.iv_image); TextView title=(TextView) convertView.findViewById(R.id.tv_title); TextView content=(TextView) convertView.findViewById(R.id.tv_content); ItemBean bean=list.get(position); iv.setImageResource(bean.ImageRes); title.setText(bean.title); content.setText(bean.content); return convertView;*/ ... 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
BaseAdapter的三樣式 II @Override public int getCount() { // TODO 自動生成的方法存根 return list.size(); } @Override public Object getItem(int position) { // TODO 自動生成的方法存根 return list.get(position); } @Override public long getItemId(int position) { // TODO 自動生成的方法存根 return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { /** * 返回每一項顯示的內(nèi)容 */ //逗比式:沒有利用到ListView的緩存機制,沒有任何優(yōu)化處理,每次都創(chuàng)建新的View,設置控件,效率極其低下。 /*View view=mInflater.inflate(R.layout.item, null);//第一參數(shù):需要裝載到item中的布局文件;第二參數(shù):通常為null。 ImageView iv=(ImageView) view.findViewById(R.id.iv_image); TextView title=(TextView) view.findViewById(R.id.tv_title); TextView content=(TextView) view.findViewById(R.id.tv_content); ItemBean bean=list.get(position); iv.setImageResource(bean.ImageRes); title.setText(bean.title); content.setText(bean.content); return view;*/ ... 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
BaseAdapter的三樣式 I public class ItemBean { public int ImageRes; public String title; public String content; public ItemBean(int imageRes, String title, String content) { super(); ImageRes = imageRes; this.title = title; this.content = content; } } //另類 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { ... List<ItemBean> itemBeanList = new ArrayList<ItemBean>(); for (int i = 0; i < 20; i++) { itemBeanList.add(new ItemBean(R.drawable.ic_launcher, "我是標題" + i, "我是內(nèi)容" + i)); } ListView listView=(ListView) findViewById(R.id.listView1); listView.setAdapter(new MyAdapter(this, itemBeanList)); } } //另類 public class MyAdapter extends BaseAdapter { private List<ItemBean> list; private LayoutInflater mInflater; public MyAdapter(Context context,List<ItemBean> list) {//數(shù)據(jù)源和適配器進行關聯(lián) this.list = list; //context:要使用當前的Adapter的界面對象 //mInflater:布局裝載器對象 mInflater=LayoutInflater.from(context); } ...查看全部
-
數(shù)據(jù)適配器——BaseAdapter——BaseAdapter基本結構 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
-
數(shù)據(jù)適配器——BaseAdapter——ListView的顯示與緩存機制 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】查看全部
舉報
0/150
提交
取消