UMLoidListAdapter.java :  » UnTagged » umloid » whiter4bbit » umloid » adapter » Android Open Source

Android Open Source » UnTagged » umloid 
umloid » whiter4bbit » umloid » adapter » UMLoidListAdapter.java
package whiter4bbit.umloid.adapter;

import java.util.List;

import whiter4bbit.umloid.tool.UMLoidHelper;
import whiter4bbit.umloid.tool.UMLoidReflectionTools;

import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

/**
 * @author whiter4bbit
 *    
 */
public class UMLoidListAdapter extends BaseAdapter{
  
  /* (non-Javadoc)
   * @see android.widget.Adapter#getCount()
   */
  public int getCount() {    
    return entitiesList.size();
  }
  
  public Object getItem(int position) {
    return position;
  }
  
  public long getItemId(int position) {
    Log.i(UMLoidHelper.UMLOID_TAG, "Trying to load entity:"+entitiesList.get(position));
    return (Long)UMLoidHelper.getClassInstanceProperty(entitiesList.get(position), "Id");
  }  
  
  public View getView(int position, View convertView, ViewGroup parent) {
    TextView textView = new TextView(context);    
    String name = (String)UMLoidHelper.getClassInstanceProperty(entitiesList.get(position), "Name");    
    textView.setText(name);    
    return textView;
  }
  
  private Context context = null;
  
  private Class clazz = null;
  
  private String entityName = null;
  
  private List entitiesList = null;
  
  /**
   *     
   * @param <T>   
   * @param context  
   * @param instance    
   * @param entityName    
   * @throws UMLoidListAdapterException 
   */
  public <T extends Object> UMLoidListAdapter(Context context, T instance , String entityName) throws UMLoidListAdapterException{
    this.context = context;    
    try{
      this.clazz = Class.forName(instance.getClass().getName());      
    }catch (ClassNotFoundException e) {
      throw new UMLoidListAdapterException("While loading class "+instance.getClass().getName()+" "+e.getMessage());            
    }
    String listGetter = "get"+UMLoidReflectionTools.makeMultiply(entityName);
    entitiesList = (List)UMLoidReflectionTools.invokeMethod(listGetter, new Object[]{}, clazz, instance);
    Log.i(UMLoidHelper.UMLOID_TAG, "from method "+listGetter+" loading entities list "+entitiesList);    
  }
    
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.