Android Open Source - InMemoryDb In Memory Filtered List Adapter






From Project

Back to project page InMemoryDb.

License

The source code is released under:

Apache License

If you think the Android project InMemoryDb listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.gawst.asyncdb.adapter;
/* w  w w  .  j  av  a  2s . c  o  m*/
import org.gawst.asyncdb.AsynchronousDbHelper;
import org.gawst.asyncdb.InMemoryDbArrayList;
import org.gawst.asyncdb.InMemoryDbListener;

import android.content.Context;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

/**
 * A {@link android.widget.ListAdapter ListAdapter} that only shows a subset of elements in a {@link InMemoryDbArrayList}
 * using the {@link org.gawst.asyncdb.adapter.InMemoryFilteredAdapter.InMemoryFilter}
 *
 * @param <E> Type of the elements stored in the {@link InMemoryDbArrayList}
 */
public class InMemoryFilteredListAdapter<E> extends InMemoryFilteredAdapter<E> implements InMemoryDbListener<E> {

  @NonNull
  private final InMemoryDbArrayList<E, ?> mArray;

  /**
   * Constructor for the adapter.
   *
   * @param context          {@code Context} used to get the layout inflater.
   * @param array            The data source, monitored for changes.
   * @param layoutResourceId The layout to inflate to display an element. It must contain a {@code TextView} element with id
   *                         {@code android.R.id.text1} unless you inflate the {@code View} yourself.
   * @param filter           Filter to apply to the data source before it's displayed.
   */
  public InMemoryFilteredListAdapter(@NonNull Context context, @NonNull InMemoryDbArrayList<E, ?> array, @LayoutRes int layoutResourceId, @Nullable InMemoryFilter<E> filter) {
    super(context, getFilteredData(array, filter), layoutResourceId, filter);
    this.mArray = array;
    array.addListener(this);
  }

  @NonNull
  protected InMemoryDbArrayList<E, ?> getDataSource() {
        return mArray;
    }

  @Override
  public void onMemoryDbChanged(AsynchronousDbHelper<E, ?> db) {
    setFilteredData(getFilteredData(mArray, filter));
  }
}




Java Source Code List

org.gawst.asyncdb.AsyncDatabaseHandler.java
org.gawst.asyncdb.AsyncDbHelperHandler.java
org.gawst.asyncdb.AsyncQueryHandler.java
org.gawst.asyncdb.AsynchronousDatabase.java
org.gawst.asyncdb.AsynchronousDbErrorHandler.java
org.gawst.asyncdb.AsynchronousDbHelper.java
org.gawst.asyncdb.AsynchronousDbOperation.java
org.gawst.asyncdb.DataSource.java
org.gawst.asyncdb.InMemoryDbArrayList.java
org.gawst.asyncdb.InMemoryDbCopyOnWriteArrayList.java
org.gawst.asyncdb.InMemoryDbList.java
org.gawst.asyncdb.InMemoryDbListener.java
org.gawst.asyncdb.InMemoryDbMap.java
org.gawst.asyncdb.InMemoryDbSet.java
org.gawst.asyncdb.InMemoryDbTreeSet.java
org.gawst.asyncdb.InMemoryHashmapDb.java
org.gawst.asyncdb.InMemoryLruCache.java
org.gawst.asyncdb.InvalidDbEntry.java
org.gawst.asyncdb.InvalidEntry.java
org.gawst.asyncdb.LogManager.java
org.gawst.asyncdb.Logger.java
org.gawst.asyncdb.LruCache.java
org.gawst.asyncdb.MapDataSource.java
org.gawst.asyncdb.MapDatabaseElementHandler.java
org.gawst.asyncdb.MapEntry.java
org.gawst.asyncdb.adapter.InMemoryArrayListAdapter.java
org.gawst.asyncdb.adapter.InMemoryFilteredAdapter.java
org.gawst.asyncdb.adapter.InMemoryFilteredListAdapter.java
org.gawst.asyncdb.adapter.InMemoryFilteredTreeAdapter.java
org.gawst.asyncdb.adapter.InMemoryTreeSetAdapter.java
org.gawst.asyncdb.adapter.UIHandler.java
org.gawst.asyncdb.purge.DatabasePurgerMaxDate.java
org.gawst.asyncdb.purge.DatabaseSourcePurgerMax.java
org.gawst.asyncdb.purge.DatabaseSourcePurger.java
org.gawst.asyncdb.purge.PurgeHandler.java
org.gawst.asyncdb.source.ContentProviderDataSource.java
org.gawst.asyncdb.source.CursorDataSource.java
org.gawst.asyncdb.source.DatabaseElementHandler.java
org.gawst.asyncdb.source.DatabaseSource.java
org.gawst.asyncdb.source.SqliteDataSource.java
org.gawst.asyncdb.source.SqliteMapDataSource.java
org.gawst.asyncdb.source.typed.TypedContentProviderDataSource.java
org.gawst.asyncdb.source.typed.TypedCursorDataSource.java
org.gawst.asyncdb.source.typed.TypedDatabaseElementHandler.java
org.gawst.asyncdb.source.typed.TypedDatabaseSource.java
org.gawst.asyncdb.source.typed.TypedSqliteDataSource.java
org.gawst.asyncdb.source.typed.TypedSqliteMapDataSource.java