i have an ArrayList and one BaseAdapter to inflate my layout, when one array from arraylist is empty, the value on layout show text "NaN%" it is so annoying, i want handle an empty array from my arraylist with setText as (0%). so how to handle empty value from ArrayList in baseadapter android? this is my code :
public class TabelNABDetail extends BaseAdapter {
Context context;
ArrayList<NabDetail> listData;//stack
int count;
public TabelNABDetail(Context context, ArrayList<NabDetail>listData){
this.context=context;
this.listData=listData;
this.count=listData.size();
}
@Override
public int getCount() {
// TODO Auto-generated method stub
// return count;
return (listData==null) ? 0 : listData.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View v, ViewGroup parent) {
// TODO Auto-generated method stub
View view= v;
ViewHolder holder= null;
if(view==null){
LayoutInflater inflater=(LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
view= inflater.inflate(R.layout.layout_tabel_detailnab, null);
holder=new ViewHolder();
holder.persen_hke1=(TextView)view.findViewById(R.id.varpersenke1);
view.setTag(holder);
}
else{
holder=(ViewHolder)view.getTag();
}
if (position==0) {
holder.persen_hke1.setText("0%");
} else {
holder.persen_hke1.setText(String.format("%.5f",listData.get(position).getpersen_hke1())+"%");
}
return view;
}
static class ViewHolder{
TextView ,persen_hke1;
}
i want to handle if listData.get(position).getpersen_hke1() is empty value, it gonna be holder.persen_hke1.setText("0%")
how to solve it? thanks before
Change your getView() like this
@Override
public View getView(int position, View v, ViewGroup parent) {
// TODO Auto-generated method stub
View view= v;
ViewHolder holder= null;
if(view==null){
LayoutInflater inflater=(LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
view= inflater.inflate(R.layout.layout_tabel_detailnab, null);
holder=new ViewHolder();
holder.persen_hke1=(TextView)view.findViewById(R.id.varpersenke1);
view.setTag(holder);
} else {
holder=(ViewHolder)view.getTag();
}
if (position==0) {
holder.persen_hke1.setText("0%");
} else {
**/////// these lines are extra lines add into your code**
NabDetail nabDetail = listData.get(position)
if(!nabDetail.getpersen_hke1().equals(""))
holder.persen_hke1.setText(String.format("%.5f",listData.get(position).getpersen_hke1())+"%");
} else {
holder.persen_hke1.setText("0%");
}
}
return view;
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.