MapListArrayAdapter.java
Go to the documentation of this file.
00001 package com.github.rosjava.android_apps.map_manager;
00002 
00003 import java.util.List;
00004 
00005 import android.content.Context;
00006 import android.view.LayoutInflater;
00007 import android.view.View;
00008 import android.view.View.OnClickListener;
00009 import android.view.View.OnLongClickListener;
00010 import android.view.View.OnTouchListener;
00011 import android.view.ViewGroup;
00012 import android.widget.ArrayAdapter;
00013 import android.widget.RadioButton;
00014 import android.widget.TextView;
00015 
00016 public class MapListArrayAdapter extends ArrayAdapter<MapListData> {
00017 
00018         private class ViewHolder {
00019                 TextView textView;
00020                 RadioButton radioButton;
00021         }
00022 
00023         private OnTouchListener touchListener;
00024         private OnLongClickListener longClickListener;
00025         private List<MapListData> mapList = null;
00026         private LayoutInflater inflator;
00027         private MainActivity context;
00028 
00029         public MapListArrayAdapter(MainActivity context, int resourceId,
00030                         List<MapListData> mapList, OnTouchListener touchListener,OnLongClickListener longClickListener) {
00031                 super(context, resourceId, mapList);
00032                 this.touchListener = touchListener;
00033                 this.longClickListener = longClickListener;
00034                 this.mapList = mapList;
00035                 this.context = context;
00036 
00037         }
00038 
00039         @Override
00040         public MapListData getItem(int position) {
00041                 return mapList.get(position);
00042         }
00043 
00044         @Override
00045         public View getView(int position, View convertView, ViewGroup parent) {
00046                 ViewHolder viewHolder;
00047 
00048                 if (convertView == null) {
00049                         inflator = (LayoutInflater) getContext().getSystemService(
00050                                         Context.LAYOUT_INFLATER_SERVICE);
00051                         convertView = inflator.inflate(R.layout.map_list_item, null);
00052                         viewHolder = new ViewHolder();
00053                         viewHolder.textView = (TextView) convertView
00054                                         .findViewById(R.id.map_list_text);
00055                         viewHolder.radioButton = (RadioButton) convertView
00056                                         .findViewById(R.id.map_list_button);
00057                         convertView.setTag(viewHolder);
00058                 } else {
00059                         viewHolder = (ViewHolder) convertView.getTag();
00060                 }
00061                 final MapListData mapListData = (MapListData) getItem(position);
00062                 viewHolder.textView.setText(mapListData.getText());
00063                 viewHolder.radioButton.setChecked(mapListData.isChecked());
00064                 viewHolder.radioButton.setOnClickListener(new OnClickListener() {
00065 
00066                         @Override
00067                         public void onClick(View view) {
00068                                 for (int i = 0; i < mapList.size(); i++) {
00069                                         mapList.get(i).setChecked(false);
00070                                 }
00071                                 mapListData.setChecked(true);
00072                                 notifyDataSetChanged();
00073                                 context.updateMapView(mapListData.getId());
00074 
00075                         }
00076 
00077                 });
00078                 convertView.setId(position);
00079                 convertView.setOnTouchListener(touchListener);
00080                 convertView.setOnLongClickListener(longClickListener);
00081                 return convertView;
00082         }
00083 
00084 }


android_apps
Author(s): Daniel Stonier , Kazuto Murase
autogenerated on Fri Aug 28 2015 10:04:40