android.widget.ListAdapter#registerDataSetObserver ( )源码实例Demo

下面列出了android.widget.ListAdapter#registerDataSetObserver ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: DongWeather   文件: DragSortListView.java
/**
 * For each DragSortListView Listener interface implemented by
 * <code>adapter</code>, this method calls the appropriate
 * set*Listener method with <code>adapter</code> as the argument.
 * 
 * @param adapter The ListAdapter providing data to back
 * DragSortListView.
 *
 * @see android.widget.ListView#setAdapter(android.widget.ListAdapter)
 */
@Override
public void setAdapter(ListAdapter adapter) {
    if (adapter != null) {
        mAdapterWrapper = new AdapterWrapper(adapter);
        adapter.registerDataSetObserver(mObserver);

        if (adapter instanceof DropListener) {
            setDropListener((DropListener) adapter);
        }
        if (adapter instanceof DragListener) {
            setDragListener((DragListener) adapter);
        }
        if (adapter instanceof RemoveListener) {
            setRemoveListener((RemoveListener) adapter);
        }
    } else {
        mAdapterWrapper = null;
    }

    super.setAdapter(mAdapterWrapper);
}
 
源代码2 项目: giraff-android   文件: CardContainer.java
@Override
public void setAdapter(ListAdapter adapter) {
	if (mListAdapter != null)
		mListAdapter.unregisterDataSetObserver(mDataSetObserver);

	clearStack();
	mTopCard = null;
	mListAdapter = adapter;
	mNextAdapterPosition = 0;
	adapter.registerDataSetObserver(mDataSetObserver);

	ensureFull();

	if (getChildCount() != 0) {
		mTopCard = getChildAt(getChildCount() - 1);
		mTopCard.setLayerType(LAYER_TYPE_HARDWARE, null);
	}
       mNumberOfCards = getAdapter().getCount();
	requestLayout();
}
 
@Override
public void setAdapter(ListAdapter adapter) {

    // assert adapter in debug mode
	if (BuildConfig.DEBUG && adapter != null) {
		if (!(adapter instanceof PinnedSectionListAdapter))
			throw new IllegalArgumentException("Does your adapter implement PinnedSectionListAdapter?");
		if (adapter.getViewTypeCount() < 2)
			throw new IllegalArgumentException("Does your adapter handle at least two types" +
					" of views in getViewTypeCount() method: items and sections?");
	}

	// unregister observer at old adapter and register on new one
	ListAdapter oldAdapter = getAdapter();
	if (oldAdapter != null) oldAdapter.unregisterDataSetObserver(mDataSetObserver);
	if (adapter != null) adapter.registerDataSetObserver(mDataSetObserver);

	// destroy pinned shadow, if new adapter is not same as old one
	if (oldAdapter != adapter) destroyPinnedShadow();

	super.setAdapter(adapter);
}
 
源代码4 项目: UltimateAndroid   文件: DragSortListView.java
/**
 * For each DragSortListView Listener interface implemented by
 * <code>adapter</code>, this method calls the appropriate
 * set*Listener method with <code>adapter</code> as the argument.
 * 
 * @param adapter The ListAdapter providing data to back
 * DragSortListView.
 *
 * @see android.widget.ListView#setAdapter(android.widget.ListAdapter)
 */
@Override
public void setAdapter(ListAdapter adapter) {
    if (adapter != null) {
        mAdapterWrapper = new AdapterWrapper(adapter);
        adapter.registerDataSetObserver(mObserver);

        if (adapter instanceof DropListener) {
            setDropListener((DropListener) adapter);
        }
        if (adapter instanceof DragListener) {
            setDragListener((DragListener) adapter);
        }
        if (adapter instanceof RemoveListener) {
            setRemoveListener((RemoveListener) adapter);
        }
    } else {
        mAdapterWrapper = null;
    }

    super.setAdapter(mAdapterWrapper);
}
 
源代码5 项目: MDPreference   文件: ListPopupWindow.java
/**
 * Sets the adapter that provides the data and the views to represent the data
 * in this popup window.
 *
 * @param adapter The adapter to use to create this window's content.
 */
public void setAdapter(ListAdapter adapter) {
    if (mObserver == null) {
        mObserver = new PopupDataSetObserver();
    } else if (mAdapter != null) {
        mAdapter.unregisterDataSetObserver(mObserver);
    }
    mAdapter = adapter;
    if (mAdapter != null) {
        adapter.registerDataSetObserver(mObserver);
    }

    if (mDropDownList != null) {
        mDropDownList.setAdapter(mAdapter);
    }
}
 
/**
 * For each DragSortListView Listener interface implemented by
 * <code>adapter</code>, this method calls the appropriate
 * set*Listener method with <code>adapter</code> as the argument.
 * 
 * @param adapter The ListAdapter providing data to back
 * DragSortListView.
 *
 * @see android.widget.ListView#setAdapter(android.widget.ListAdapter)
 */
@Override
public void setAdapter(ListAdapter adapter) {
    if (adapter != null) {
        mAdapterWrapper = new AdapterWrapper(adapter);
        adapter.registerDataSetObserver(mObserver);

        if (adapter instanceof DropListener) {
            setDropListener((DropListener) adapter);
        }
        if (adapter instanceof DragListener) {
            setDragListener((DragListener) adapter);
        }
        if (adapter instanceof RemoveListener) {
            setRemoveListener((RemoveListener) adapter);
        }
    } else {
        mAdapterWrapper = null;
    }

    super.setAdapter(mAdapterWrapper);
}
 
源代码7 项目: AndroidWeekly   文件: PinnedSectionListView.java
@Override
public void setAdapter(ListAdapter adapter) {

    // assert adapter in debug mode
    if (BuildConfig.DEBUG && adapter != null) {
        if (!(adapter instanceof PinnedSectionListAdapter))
            throw new IllegalArgumentException("Does your adapter implement PinnedSectionListAdapter?");
        if (adapter.getViewTypeCount() < 2)
            throw new IllegalArgumentException("Does your adapter handle at least two types" +
                    " of views in getViewTypeCount() method: items and sections?");
    }

    // unregister observer at old adapter and register on new one
    ListAdapter oldAdapter = getAdapter();
    if (oldAdapter != null) oldAdapter.unregisterDataSetObserver(mDataSetObserver);
    if (adapter != null) adapter.registerDataSetObserver(mDataSetObserver);

    // destroy pinned shadow, if new adapter is not same as old one
    if (oldAdapter != adapter) destroyPinnedShadow();

    super.setAdapter(adapter);
}
 
源代码8 项目: chromadoze   文件: DragSortListView.java
/**
 * For each DragSortListView Listener interface implemented by
 * <code>adapter</code>, this method calls the appropriate set*Listener
 * method with <code>adapter</code> as the argument.
 * 
 * @param adapter
 *            The ListAdapter providing data to back DragSortListView.
 * 
 * @see android.widget.ListView#setAdapter(android.widget.ListAdapter)
 */
@Override
public void setAdapter(ListAdapter adapter) {
    if (adapter != null) {
        mAdapterWrapper = new AdapterWrapper(adapter);
        adapter.registerDataSetObserver(mObserver);

        if (adapter instanceof DropListener) {
            setDropListener((DropListener) adapter);
        }
        if (adapter instanceof DragListener) {
            setDragListener((DragListener) adapter);
        }
        if (adapter instanceof RemoveListener) {
            setRemoveListener((RemoveListener) adapter);
        }
    } else {
        mAdapterWrapper = null;
    }

    super.setAdapter(mAdapterWrapper);
}
 
源代码9 项目: material   文件: ListPopupWindow.java
/**
 * Sets the adapter that provides the data and the views to represent the data
 * in this popup window.
 *
 * @param adapter The adapter to use to create this window's content.
 */
public void setAdapter(ListAdapter adapter) {
    if (mObserver == null) {
        mObserver = new PopupDataSetObserver();
    } else if (mAdapter != null) {
        mAdapter.unregisterDataSetObserver(mObserver);
    }
    mAdapter = adapter;
    if (mAdapter != null) {
        adapter.registerDataSetObserver(mObserver);
    }

    if (mDropDownList != null) {
        mDropDownList.setAdapter(mAdapter);
    }
}
 
源代码10 项目: mobile-manager-tool   文件: DragSortListView.java
/**
 * For each DragSortListView Listener interface implemented by
 * <code>adapter</code>, this method calls the appropriate
 * set*Listener method with <code>adapter</code> as the argument.
 * 
 * @param adapter The ListAdapter providing data to back
 * DragSortListView.
 *
 * @see android.widget.ListView#setAdapter(android.widget.ListAdapter)
 */
@Override
public void setAdapter(ListAdapter adapter) {
    if (adapter != null) {
        mAdapterWrapper = new AdapterWrapper(adapter);
        adapter.registerDataSetObserver(mObserver);

        if (adapter instanceof DropListener) {
            setDropListener((DropListener) adapter);
        }
        if (adapter instanceof DragListener) {
            setDragListener((DragListener) adapter);
        }
        if (adapter instanceof RemoveListener) {
            setRemoveListener((RemoveListener) adapter);
        }
    } else {
        mAdapterWrapper = null;
    }

    super.setAdapter(mAdapterWrapper);
}
 
源代码11 项目: Android-Next   文件: AdapterWrapper.java
/**
 * Constructor wrapping a supplied ListAdapter
 */
public AdapterWrapper(ListAdapter wrapped) {
    super();

    this.wrapped = wrapped;

    wrapped.registerDataSetObserver(new DataSetObserver() {
        public void onChanged() {
            notifyDataSetChanged();
        }

        public void onInvalidated() {
            notifyDataSetInvalidated();
        }
    });
}
 
源代码12 项目: android-kernel-tweaker   文件: DragSortListView.java
/**
 * For each DragSortListView Listener interface implemented by
 * <code>adapter</code>, this method calls the appropriate
 * set*Listener method with <code>adapter</code> as the argument.
 * 
 * @param adapter The ListAdapter providing data to back
 * DragSortListView.
 *
 * @see android.widget.ListView#setAdapter(android.widget.ListAdapter)
 */
@Override
public void setAdapter(ListAdapter adapter) {
    if (adapter != null) {
        mAdapterWrapper = new AdapterWrapper(adapter);
        adapter.registerDataSetObserver(mObserver);

        if (adapter instanceof DropListener) {
            setDropListener((DropListener) adapter);
        }
        if (adapter instanceof DragListener) {
            setDragListener((DragListener) adapter);
        }
        if (adapter instanceof RemoveListener) {
            setRemoveListener((RemoveListener) adapter);
        }
    } else {
        mAdapterWrapper = null;
    }

    super.setAdapter(mAdapterWrapper);
}
 
源代码13 项目: Kernel-Tuner   文件: PinnedSectionListView.java
@Override
public void setAdapter(ListAdapter adapter) {

    // assert adapter in debug mode
	if (BuildConfig.DEBUG && adapter != null) {
		if (!(adapter instanceof PinnedSectionListAdapter))
			throw new IllegalArgumentException("Does your adapter implement PinnedSectionListAdapter?");
		if (adapter.getViewTypeCount() < 2)
			throw new IllegalArgumentException("Does your adapter handle at least two types" +
					" of views in getViewTypeCount() method: items and sections?");
	}

	// unregister observer at old adapter and register on new one
	ListAdapter oldAdapter = getAdapter();
	if (oldAdapter != null) oldAdapter.unregisterDataSetObserver(mDataSetObserver);
	if (adapter != null) adapter.registerDataSetObserver(mDataSetObserver);

	// destroy pinned shadow, if new adapter is not same as old one
	if (oldAdapter != adapter) destroyPinnedShadow();

	super.setAdapter(adapter);
}
 
源代码14 项目: Overchan-Android   文件: DragSortListView.java
/**
 * For each DragSortListView Listener interface implemented by
 * <code>adapter</code>, this method calls the appropriate
 * set*Listener method with <code>adapter</code> as the argument.
 * 
 * @param adapter The ListAdapter providing data to back
 * DragSortListView.
 *
 * @see android.widget.ListView#setAdapter(android.widget.ListAdapter)
 */
@Override
public void setAdapter(ListAdapter adapter) {
    if (adapter != null) {
        mAdapterWrapper = new AdapterWrapper(adapter);
        adapter.registerDataSetObserver(mObserver);

        if (adapter instanceof DropListener) {
            setDropListener((DropListener) adapter);
        }
        if (adapter instanceof DragListener) {
            setDragListener((DragListener) adapter);
        }
        if (adapter instanceof RemoveListener) {
            setRemoveListener((RemoveListener) adapter);
        }
    } else {
        mAdapterWrapper = null;
    }

    super.setAdapter(mAdapterWrapper);
}
 
源代码15 项目: open   文件: AutoCompleteListView.java
@Override
public void setAdapter(final ListAdapter adapter) {
    super.setAdapter(adapter);
    adapter.registerDataSetObserver(new DataSetObserver() {
        @Override
        public void onChanged() {
            updateEmptyView();
        }
    });
}
 
public RollbackSectionListAdapter(final LayoutInflater inflater,
                                  final ListAdapter linkedAdapter) {
    this.linkedAdapter = linkedAdapter;
    this.inflater = inflater;
    linkedAdapter.registerDataSetObserver(dataSetObserver);
    updateSessionCache();
}
 
源代码17 项目: android-apps   文件: IcsListPopupWindow.java
public void setAdapter(ListAdapter adapter) {
    if (mObserver == null) {
        mObserver = new PopupDataSetObserver();
    } else if (mAdapter != null) {
        mAdapter.unregisterDataSetObserver(mObserver);
    }
    mAdapter = adapter;
    if (mAdapter != null) {
        adapter.registerDataSetObserver(mObserver);
    }

    if (mDropDownList != null) {
        mDropDownList.setAdapter(mAdapter);
    }
}
 
源代码18 项目: o2oa   文件: StickyGridHeadersListAdapterWrapper.java
public StickyGridHeadersListAdapterWrapper(ListAdapter adapter) {
    mDelegate = adapter;
    if (adapter != null) {
        adapter.registerDataSetObserver(mDataSetObserver);
    }
}
 
源代码19 项目: AnimationListView   文件: AnimationListView.java
public AdapterWrapper(final ListAdapter adapter) {
	this.adapter = adapter;

	adapter.registerDataSetObserver(observer);
}
 
源代码20 项目: SimpleExplorer   文件: MergeAdapter.java
/**
 * Adds a new adapter to the roster of things to appear in the aggregate
 * list.
 *
 * @param adapter Source for row views for this section
 */
public void addAdapter(ListAdapter adapter) {
    pieces.add(adapter);
    adapter.registerDataSetObserver(new CascadeDataSetObserver());
}