我有一个listview
适配器,它扩展了基本的ArrayAdapter
。填充列表成员的整个逻辑是在if块中。由于只有4个字段,所以没什么大不了的。但是,如果您有更复杂的adapter
怎么办?
使用ifs还是一个好习惯,还是应该实施更优雅的解决方案(在性能方面)?
if (promo != null) {
if(!(promo.getItemType().equals(""))){
holder.item1.setText("Item group :"+ promo.getItemType());
}
else if(!(promo.getItemCode().equals(""))){
holder.item1.setText(promo.getItemCode());
}
else if(!(promo.getCustCode().equals(""))){
holder.item1.setText(promo.getCustCode());
}
else if(!(promo.getCustType().equals(""))){
holder.item1.setText("Clients from: "+ promo.getCustType());
}
//set ItemRelation
if( !(promo.getItemType().equals("")) ){
holder.item2.setText( promo.getItemCode() );
}else if(promo.getItemType().equals("1")){
holder.item2.setText("Group " + promo.getItemCode());
}else{
holder.item2.setText("All items");
}
if(promo.getPromoType().equals("1")){
holder.item3.setText(promo.getPercent() + "%");
}else{
holder.item3.setText("Sum " + promo.getSalesPrice());
}
最佳答案
我认为没有什么特别的技术可以避免“ ifs”,但是使用多个if语句应该没有任何问题。但是如果您将在if块中使用某种繁重的循环,则可能会影响程序的性能
关于android - Android listview中的自定义适配器有很多if,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35456369/