Android Open Source - edu-video-client Base List Activity






From Project

Back to project page edu-video-client.

License

The source code is released under:

Apache License

If you think the Android project edu-video-client 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 com.ngm.explaintome;
/*w w  w  .  j a  v  a2s. co m*/
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;

import android.view.View;
import android.widget.BaseAdapter;
import android.widget.Filter;
import android.widget.Filterable;
import android.widget.ListView;
import android.widget.SearchView;

public class BaseListActivity extends BaseActivity {

  protected View progressBar;

  protected SearchView searchView;

  protected ListView listView;

  protected void onRestOperationStart() {
    progressBar.setVisibility(View.VISIBLE);
  }

  protected void onRestOperationEnd() {
    progressBar.setVisibility(View.GONE);
    listView.setEmptyView(findViewById(R.id.empty_view));
  }

  protected abstract class BaseListAdapter<T extends FilterableEntity>
      extends BaseAdapter implements Filterable {
    protected final List<T> originalEntities;

    protected List<T> entities;

    protected BaseListAdapter(List<T> entities) {
      this.entities = entities;
      this.originalEntities = entities;
    }

    private class BaseListFilter extends Filter {

      private List<T> getFilteredTags(final CharSequence query) {
        final List<T> result = new LinkedList<T>();
        for (final T entity : originalEntities) {
          final String entityText = entity.getFilterText()
              .toLowerCase(Locale.getDefault());
          final String queryString = query.toString().toLowerCase(
              Locale.getDefault());
          if (entityText.contains(queryString)) {
            result.add(entity);
          }
        }

        return result;
      }

      @Override
      protected FilterResults performFiltering(CharSequence constraint) {
        final FilterResults result = new FilterResults();
        result.values = getFilteredTags(constraint);
        return result;
      }

      @Override
      protected void publishResults(CharSequence constraint,
          FilterResults results) {
        final List<T> entities = (List<T>) results.values;
        BaseListAdapter.this.entities = entities;
        notifyDataSetChanged();
      }

    }

    @Override
    public int getCount() {
      return entities.size();
    }

    @Override
    public Object getItem(int i) {
      return entities.get(i);
    }

    @Override
    public long getItemId(int i) {
      return 0;
    }

    @Override
    public Filter getFilter() {
      return new BaseListFilter();
    }
  }

}




Java Source Code List

com.ngm.exlpaintome.video.VideoControllerView.java
com.ngm.explaintome.BaseActivity.java
com.ngm.explaintome.BaseListActivity.java
com.ngm.explaintome.BrowseActivity.java
com.ngm.explaintome.ColoredSearchView.java
com.ngm.explaintome.Constants.java
com.ngm.explaintome.ExplainActivity.java
com.ngm.explaintome.FilterableEntity.java
com.ngm.explaintome.FirstActivity.java
com.ngm.explaintome.FixedPagerAdapter.java
com.ngm.explaintome.RestConfig.java
com.ngm.explaintome.VideoViewActivity.java
com.ngm.explaintome.VideosActivity.java
com.ngm.explaintome.YoutubeUrlAsyncTask.java
com.ngm.explaintome.data.Answer.java
com.ngm.explaintome.data.ModelElement.java
com.ngm.explaintome.data.QuestionType.java
com.ngm.explaintome.data.Question.java
com.ngm.explaintome.data.Tag.java
com.ngm.explaintome.data.Video.java
com.ngm.explaintome.modules.ModuleProvider.java
com.ngm.explaintome.service.Callback.java
com.ngm.explaintome.service.MockRestActions.java
com.ngm.explaintome.service.RestActionsImpl.java
com.ngm.explaintome.service.RestActions.java