package jds.dofcalc;
import java.util.ArrayList;
import java.util.List;
import jds.dofcalc.Camera.CameraItem;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.MarginLayoutParams;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CameraListAdapter extends ArrayAdapter<CameraItem>
{
private ArrayList<CameraItem> items;
private View v;
private Context CurrentContext;
private float scale;
private int SelectedItem;
public CameraListAdapter(Context context, int resource,
int textViewResourceId, List<CameraItem> objects, int CurrSel) {
super(context, resource, textViewResourceId, objects);
CurrentContext = context;
items = new ArrayList<CameraItem>();
items.addAll(objects);
SelectedItem = CurrSel;
scale = context.getResources().getDisplayMetrics().density;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)CurrentContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.camera_item_layout, null);
}
TextView Name = (TextView) v.findViewById(R.id.camera_name);
ImageView Selector = (ImageView) v.findViewById(R.id.camera_selector);
ViewGroup.MarginLayoutParams Layout = (MarginLayoutParams) Name.getLayoutParams();
if (position==SelectedItem)
{
Layout.leftMargin = (int) (5 * scale);
Selector.setVisibility(View.VISIBLE);
}
else
{
Layout.leftMargin = (int) (10 * scale);
Selector.setVisibility(View.GONE);
}
Name.setLayoutParams(Layout);
Name.setText(items.get(position).GetName());
return v;
}
public void SetSelectedItem(int SelectedItemIndex)
{
SelectedItem = SelectedItemIndex;
this.notifyDataSetChanged();
}
}
|