Android Open Source - advanced-tourist-map File Picker Icon Adapter






From Project

Back to project page advanced-tourist-map.

License

The source code is released under:

GNU General Public License

If you think the Android project advanced-tourist-map 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

/*
 * Copyright 2010, 2011 mapsforge.org/*from w  ww.  j a  v  a 2  s. c  o m*/
 *
 * This program is free software: you can redistribute it and/or modify it under the
 * terms of the GNU Lesser General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License along with
 * this program. If not, see <http://www.gnu.org/licenses/>.
 */
package org.muxe.advancedtouristmap;

import java.io.File;

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

/**
 * An adapter for the FilePicker GridView.
 */
class FilePickerIconAdapter extends BaseAdapter {
  private final Context context;
  private File currentFile;
  private File[] files;
  private boolean hasParentFolder;
  private TextView textView;

  /**
   * Creates a new FilePickerIconAdapter with the given context.
   * 
   * @param context
   *            the context of this adapter, through which new Views are created.
   */
  FilePickerIconAdapter(Context context) {
    this.context = context;
  }

  @Override
  public int getCount() {
    if (this.files == null) {
      return 0;
    }
    return this.files.length;
  }

  @Override
  public Object getItem(int index) {
    return this.files[index];
  }

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

  @Override
  public View getView(int index, View convertView, ViewGroup parent) {
    if (convertView instanceof TextView) {
      // recycle the old view
      this.textView = (TextView) convertView;
    } else {
      // create a new view object
      this.textView = new TextView(this.context);
      this.textView.setLines(2);
      this.textView.setGravity(Gravity.CENTER_HORIZONTAL);
      this.textView.setPadding(5, 10, 5, 10);
    }

    if (index == 0 && this.hasParentFolder) {
      // the parent directory of the current folder
      this.textView.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_menu_back,
          0, 0);
      this.textView.setText("..");
    } else {
      this.currentFile = this.files[index];
      if (this.currentFile.isDirectory()) {
        this.textView.setCompoundDrawablesWithIntrinsicBounds(0,
            R.drawable.ic_menu_archive, 0, 0);
      } else {
        this.textView.setCompoundDrawablesWithIntrinsicBounds(0,
            R.drawable.ic_menu_mapmode, 0, 0);
      }
      this.textView.setText(this.currentFile.getName());
    }
    return this.textView;
  }

  /**
   * Sets the data of this adapter.
   * 
   * @param files
   *            the new files for this adapter.
   * @param newHasParentFolder
   *            true if the file array has a parent folder at index 0, false otherwise.
   */
  void setFiles(File[] files, boolean newHasParentFolder) {
    this.files = files;
    this.hasParentFolder = newHasParentFolder;
  }
}




Java Source Code List

org.mapsforge.geocoding.Unchecked.java
org.mapsforge.geocoding.widget.CityCompletionAdapter.java
org.mapsforge.geocoding.widget.PlaceCompletionAdapter.java
org.mapsforge.geocoding.widget.RoadCompletionAdapter.java
org.mapsforge.geocoding.widget.RoadListAdapter.java
org.mapsforge.geocoding.widget.SqliteCompletionAdapter.java
org.mapsforge.geocoding.widget.State.java
org.muxe.advancedtouristmap.AdvancedTouristMapApplication.java
org.muxe.advancedtouristmap.AdvancedTouristMap.java
org.muxe.advancedtouristmap.BaseActivity.java
org.muxe.advancedtouristmap.CacheSizePreference.java
org.muxe.advancedtouristmap.EditPreferences.java
org.muxe.advancedtouristmap.FilePickerIconAdapter.java
org.muxe.advancedtouristmap.FilePicker.java
org.muxe.advancedtouristmap.InfoView.java
org.muxe.advancedtouristmap.LocationPicker.java
org.muxe.advancedtouristmap.MoveSpeedPreference.java
org.muxe.advancedtouristmap.PositionInfo.java
org.muxe.advancedtouristmap.Search.java
org.muxe.advancedtouristmap.SeekBarPreference.java
org.muxe.advancedtouristmap.Utility.java
org.muxe.advancedtouristmap.overlay.GenericOverlayItem.java
org.muxe.advancedtouristmap.overlay.GenericOverlay.java
org.muxe.advancedtouristmap.overlay.PoiOverlayItem.java
org.muxe.advancedtouristmap.overlay.PositionOverlayItem.java
org.muxe.advancedtouristmap.overlay.WikiOverlayItem.java
org.muxe.advancedtouristmap.poi.PoiBrowserActivity.java
org.muxe.advancedtouristmap.poi.PoiOrCategory.java
org.muxe.advancedtouristmap.routing.AngleCalc.java
org.muxe.advancedtouristmap.routing.DecisionOverlay.java
org.muxe.advancedtouristmap.routing.DecisionPoint.java
org.muxe.advancedtouristmap.routing.RouteCalculator.java
org.muxe.advancedtouristmap.routing.RouteList.java
org.muxe.advancedtouristmap.routing.Route.java
org.muxe.advancedtouristmap.sourcefiles.AddressFile.java
org.muxe.advancedtouristmap.sourcefiles.FileManagerActivity.java
org.muxe.advancedtouristmap.sourcefiles.FileManager.java
org.muxe.advancedtouristmap.sourcefiles.MapBundle.java
org.muxe.advancedtouristmap.sourcefiles.MapFile.java
org.muxe.advancedtouristmap.sourcefiles.PoiFile.java
org.muxe.advancedtouristmap.sourcefiles.RoutingFile.java
org.muxe.advancedtouristmap.sourcefiles.SourceFile.java
org.muxe.advancedtouristmap.wikipedia.AbstractWikiArticle.java
org.muxe.advancedtouristmap.wikipedia.ArticleRetrieverFactory.java
org.muxe.advancedtouristmap.wikipedia.ArticleRetriever.java
org.muxe.advancedtouristmap.wikipedia.GeonamesRetriever.java
org.muxe.advancedtouristmap.wikipedia.OnlineWikiArticle.java
org.muxe.advancedtouristmap.wikipedia.WikiArticleInterface.java
org.muxe.advancedtouristmap.wikipedia.WikilocationRetriever.java