Android CustomAdapter从片段接收浮点变量数组并返回0

Android CustomAdapter从片段接收浮点变量数组并返回0,android,arrays,android-fragments,location,baseadapter,Android,Arrays,Android Fragments,Location,Baseadapter,我有一个包含图片、字符串和浮动的列表视图(计算从当前位置到特定位置的距离) 我的片段: public class LocationsFragment extends Fragment implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { public float distance1, distance2; int [] prgmImages={R.dra

我有一个包含图片、字符串和浮动的列表视图(计算从当前位置到特定位置的距离)

我的片段:

public class LocationsFragment extends Fragment implements GoogleApiClient.ConnectionCallbacks,     GoogleApiClient.OnConnectionFailedListener {

public float distance1, distance2;

int [] prgmImages={R.drawable.s,R.drawable.s};
String [] prgmNameList={"Arad","Bacau2"};
float [] distLoc={distance1,distance2};
...
...

@Override
public void onConnected(Bundle connectionHint) {

    mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);



if (mLastLocation != null) {
        Location locard = new Location("arad");
        locard.setLatitude(46.173074);
        locard.setLongitude(21.316986);
        Location locbac2 = new Location("bac2");
        locbac2.setLatitude(46.512778);
        locbac2.setLongitude(26.926374);





        distance1 = mLastLocation.distanceTo(locard)/1000;
        distance2 = mLastLocation.distanceTo(locbac2)/1000;

...
我的自定义适配器如下所示:

public class CustomAdapter extends BaseAdapter {




private Context context;



String [] result;
float [] dist;
int [] imageId;
private static LayoutInflater inflater=null;
public CustomAdapter(Main main, String[] prgmNameList, int[] prgmImages, float[] distLoc) {
    // TODO Auto-generated constructor stub
    result=prgmNameList;
    context=main;
    imageId=prgmImages;
    dist=distLoc;
    inflater = ( LayoutInflater )context.
            getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
    // TODO Auto-generated method stub
    return result.length;
}

@Override
public Object getItem(int position) {

    return position;
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}

public class Holder
{
    TextView tv;
    ImageView img;
    TextView dist;

}


@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    Holder holder=new Holder();
    View rowView;
    rowView = inflater.inflate(R.layout.listitem, null);
    holder.tv=(TextView) rowView.findViewById(R.id.firstLine);
    holder.img=(ImageView) rowView.findViewById(R.id.icon);
    holder.dist=(TextView) rowView.findViewById(R.id.dist);
    holder.tv.setText(result[position]);
    holder.dist.setText(String.valueOf(dist[position]));
    holder.img.setImageResource(imageId[position]);
    rowView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            {switch (position) {

                case 0:Intent intent= new Intent(context, Arad.class);

                    context.startActivity(intent);

                    break;
                case 1:Intent intent2= new Intent(context, Bacau2.class);

                    context.startActivity(intent2);

                    break;
                case 2:

                    break;
                case 3:

                    break;
                case 4:



            }


            }
        }
    });
    return rowView;
}




}
我的问题是,在这种形式下,距离的值总是0。 我不知道如何用计算的距离正确初始化distLoc数组

谢谢大家!

我解决了问题:

我在onConnected方法中初始化了数组和适配器,现在我在CustomAdapter中接收值