@Override public View getView(int position, View convertView, ViewGroup parent) { String name = ""; MenuItem menuItem = (MenuItem) favaItems.get(position); name = menuItem.getName(); ViewHolder viewHolder = null; if (convertView == null) { convertView = View.inflate(MenuItemSetActivity.this, R.layout.menuset_item_layout, null); viewHolder = new ViewHolder(); viewHolder.title_text = (TextView) convertView.findViewById(R.id.menuset_tv_name); SwitchButton switchButton = (SwitchButton) convertView.findViewById(R.id.checkbox); viewHolder.switchButton = switchButton; // 解决SwitchButton显示bug if (convertView.getLayoutParams() != null) { convertView.getLayoutParams().height = DisplayUtil.dip2px(MenuItemSetActivity.this, 55); } else { AbsListView.LayoutParams params = new AbsListView.LayoutParams( AbsListView.LayoutParams.MATCH_PARENT, DisplayUtil.dip2px(MenuItemSetActivity.this, 55)); convertView.setLayoutParams(params); } convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.title_text.setText(name); viewHolder.switchButton.setChecked(menuItem.isLocalFavorites()); viewHolder.switchButton.setOnCheckedChangeListener(new SwitchOnChangeButton(menuItem)); return convertView; }