package com.streamlet.appui.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.amap.api.location.AMapLocation; import com.amap.api.maps.model.LatLng; import com.streamlet.R; import com.streamlet.appui.base.BaseActivity; import com.streamlet.appui.base.BaseAdapter2; import com.streamlet.common.util.MapUtils; import com.streamlet.common.util.NumberUtils; import com.streamlet.common.util.UIHelper; import com.streamlet.module.entity.bean.Family; import butterknife.Bind; import butterknife.ButterKnife; /** * Created by streamlet2 on 2016/10/21. * * @Description 搜索Family数据 */ public class FamilyAdapter extends BaseAdapter2 { private BaseActivity mActivity; private LatLng minelatlng; /**定位成功*/ private static final int LOCATION_SUCCESS=1001; /**定位失败*/ private static final int LOCATION_FAIL=1002; private int flag; public FamilyAdapter(Context context) { super(context); mActivity= (BaseActivity) context; MapUtils.getInstance(mActivity).setLocationCallBack(mLocationCallBack); MapUtils.getInstance(mActivity).startLocation(); } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = inflater.inflate(R.layout.item_family, parent, false); viewHolder=new ViewHolder(convertView); convertView.setTag(viewHolder); } else { viewHolder= (ViewHolder) convertView.getTag(); } Family family= (Family) getItem(position); UIHelper.imageNet(context,family.getLogo(),viewHolder.mImgLogo,false,R.drawable.img_def); viewHolder.mTvName.setText(family.getName()); //距离 if(flag==LOCATION_SUCCESS){ LatLng familylatLng=new LatLng(family.getLat(),family.getLng()); viewHolder.mTvDistance.setText("距离"+ NumberUtils.formatNumberofDistance(MapUtils.getInstance(mActivity).caculateDistance(familylatLng,minelatlng))); } viewHolder.mTvIntroduce.setText(family.getIntroduce()); return convertView; } class ViewHolder { @Bind(R.id.img_logo) ImageView mImgLogo; @Bind(R.id.tv_Name) TextView mTvName; @Bind(R.id.tv_distance) TextView mTvDistance; @Bind(R.id.tv_introduce) TextView mTvIntroduce; ViewHolder(View view) { ButterKnife.bind(this, view); } } MapUtils.LocationCallBack mLocationCallBack=new MapUtils.LocationCallBack() { @Override public void onLocationSuccess(AMapLocation aMapLocation) { flag=LOCATION_SUCCESS; if (aMapLocation != null) { minelatlng=new LatLng(aMapLocation.getLatitude(),aMapLocation.getLongitude()); } } @Override public void onLocationFailed(String errorCode) { flag=LOCATION_FAIL; } }; }