public void removeView(Object view) {
   if (view instanceof Number) {
     int viewIndex = TiConvert.toInt(view);
     if (viewIndex >= 0 && viewIndex < mViews.size()) {
       mViews.remove(viewIndex);
       getProxy().setProperty(TiC.PROPERTY_VIEWS, mViews.toArray());
       mAdapter.notifyDataSetChanged();
     }
   } else if (view instanceof TiViewProxy) {
     TiViewProxy proxy = (TiViewProxy) view;
     if (mViews.contains(proxy)) {
       mViews.remove(proxy);
       getProxy().setProperty(TiC.PROPERTY_VIEWS, mViews.toArray());
       mAdapter.notifyDataSetChanged();
     }
   }
 }
 public void addView(TiViewProxy proxy) {
   if (!mViews.contains(proxy)) {
     proxy.setActivity(this.proxy.getActivity());
     mViews.add(proxy);
     getProxy().setProperty(TiC.PROPERTY_VIEWS, mViews.toArray());
     mAdapter.notifyDataSetChanged();
   }
 }
  public void setViews(Object viewsObject) {
    boolean changed = false;
    clearViewsList();

    if (viewsObject instanceof Object[]) {
      Object[] views = (Object[]) viewsObject;
      Activity activity = this.proxy.getActivity();
      for (int i = 0; i < views.length; i++) {
        if (views[i] instanceof TiViewProxy) {
          TiViewProxy tv = (TiViewProxy) views[i];
          tv.setActivity(activity);
          mViews.add(tv);
          changed = true;
        }
      }
    }
    if (changed) {
      mAdapter.notifyDataSetChanged();
    }
  }