Мое любимое использование выражений присваивания для лениво инициализированных свойств.
private string _name;
public string Name
{
get { return _name ?? (_name = ExpensiveNameGeneratorMethod()); }
}
Я нахожу решение, используя ViewHolder :
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(mContext).inflate(R.layout.listview_item, null);
holder.layoutOperative = convertView.findViewById(R.id.layout_list_item);
holder.txtOne = convertView.findViewById(R.id.text_one);
holder.txtTwo = convertView.findViewById(R.id.text_two);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
if (mBuildingsList.get(position).isOperative()) {
holder.layoutOperative.setBackgroundResource(R.drawable.list_item_background_active);
} else {
holder.layoutOperative.setBackgroundResource(R.drawable.list_item_background_inactive);
}
holder.txtOne.setText(mList.get(position).getPropertyOne());
holder.txtTwo.setText(mList.get(position).getPropertyTwo());
return convertView;
}
Спасибо всем!