my code review

 1 class ListDeviceAdapter extends BaseAdapter  
 2     {  
 3         ChildListView childlist = null;  
 4         private Context mContext;  
 5         private List<Map<String, Object>> mDeviceData; // 设备信息集合  
 6   
 7         public ListDeviceAdapter(Context context, List<Map<String, Object>> listItems)  
 8         {  
 9             this.mContext = context;  
10             this.mDeviceData = listItems;  
11             System.out.println("-- ListDeviceAdapter is running...--");  
12         }  
13   
14         @Override  
15         public int getCount()  
16         {  
17             return 0;//return mDeviceData.size();//首先回调getCount()方法,根据其值来决定是否回调getView()  
18         }  
19   
20         @Override  
21         public Object getItem(int position)  
22         {  
23             return mDeviceData.get(position);  
24         }  
25   
26         @Override  
27         public long getItemId(int position)  
28         {  
29             return 0;  
30         }  
31   
32         @Override  
33         public View getView(int position, View convertView, ViewGroup parent)  
34         {  
35             System.out.println("-- getView is running...--");  
36             if (convertView == null)  
37             {  
38                 System.out.println("-- list is running...--");  
39                 childlist = new ChildListView();  
40                 convertView = LayoutInflater.from(mContext).inflate(R.layout.listview_control, null);  
41                 childlist.mDeviceType = (ImageButton) convertView.findViewById(R.id.list_btn_device_type);  
42                 childlist.mDeviceName = (TextView) convertView.findViewById(R.id.list_text_device_name);  
43                 childlist.mDeviceControl = (ImageButton) convertView.findViewById(R.id.list_btn_device_type);  
44                 convertView.setTag(childlist);  
45             } else  
46             {  
47                 childlist = (ChildListView) convertView.getTag();  
48             }  
49   
50             childlist.mDeviceType.setBackgroundResource(R.drawable.device_light);  
51             childlist.mDeviceName.setText(mDeviceData.get(0).get("title").toString());  
52             childlist.mDeviceControl.setBackgroundResource(R.drawable.device_curtain);  
53   
54             childlist.mDeviceType.setOnClickListener(new OnClickListener()  
55             {  
56                 public void onClick(View v)  
57                 {  
58   
59                 }  
60             });  
61             childlist.mDeviceControl.setOnClickListener(new OnClickListener()  
62             {  
63                 public void onClick(View v)  
64                 {  
65   
66                 }  
67             });  
68   
69             return convertView;  
70         }  
71   
72         class ChildListView  
73         {  
74             ImageButton mDeviceType;  
75             TextView mDeviceName;  
76             ImageButton mDeviceControl;  
77         }  
78     }  

 发现自定义Adapter先是回调的getCount()方法,起初返回的是空

原文地址:https://www.cnblogs.com/mlpzxf/p/6611597.html