package com.roboo.like.google.adapters;
import java.util.LinkedList;
import android.app.Activity;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.TextView;
import android.widget.Toast;
import com.roboo.like.google.BusLineActivity;
import com.roboo.like.google.R;
import com.roboo.like.google.models.BusStationItem;
public class BusStationAdapter extends BaseAdapter
{
private LinkedList<BusStationItem> mData;
private Activity mActivity;
public BusStationAdapter(Activity mActivity, LinkedList<BusStationItem> data)
{
this.mData = data;
this.mActivity = mActivity;
}
@Override
public int getCount()
{
return null == mData ? 0 : mData.size();
}
@Override
public Object getItem(int position)
{
return null == mData ? null : mData.get(position);
}
@Override
public long getItemId(int position)
{
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
final BusStationItem item = mData.get(position);
if (convertView == null)
{
convertView = LayoutInflater.from(mActivity).inflate(
R.layout.list_bus_station_item, null);// TODO
}
TextView tvBusNo = ViewHolder.getView(convertView, R.id.tv_bus_no);
TextView tvBusTo = ViewHolder.getView(convertView, R.id.tv_bus_to);
TextView tvBusLicensePlate = ViewHolder.getView(convertView,
R.id.tv_bus_license_plate);
TextView tvBusUpdateTime = ViewHolder.getView(convertView,
R.id.tv_bus_update_time);
TextView tvBusStopSpacing = ViewHolder.getView(convertView,
R.id.tv_bus_stop_spacing);
tvBusNo.setText(item.busNo + "路");
tvBusTo.setText(item.busTo);
tvBusLicensePlate.setText(item.busLicensePlate);
tvBusUpdateTime.setText(item.busUpdateTime);
tvBusStopSpacing.setText(item.busStopSpacing);
if (TextUtils.isEmpty(item.busUpdateTime))
{
tvBusUpdateTime.setText("无");
}
if (!TextUtils.isEmpty(item.busStopSpacing))
{
if (TextUtils.isDigitsOnly(item.busStopSpacing)
|| "进站".equals(item.busStopSpacing))
{
tvBusStopSpacing.setTextColor(0xFFFF0000);
}
if ("无车".equals(item.busStopSpacing))
{
tvBusStopSpacing.setTextColor(0xFF0000FF);
}
}
if (!TextUtils.isEmpty(item.busTo) && item.busTo.length() > 9)
{
tvBusTo.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
Toast.makeText(mActivity, item.busTo, Toast.LENGTH_SHORT)
.show();
}
});
}
if(mActivity instanceof BusLineActivity)
{
convertView.setBackgroundResource(0);
tvBusLicensePlate.setVisibility(View.GONE);
tvBusTo.setVisibility(View.GONE);
// tvBusUpdateTime.setVisibility(View.INVISIBLE);
}
return convertView;
}
}