Android Open Source - brainrot File List Adapter

From Project

Back to project page brainrot.


The source code is released under:

Apache License

If you think the Android project brainrot 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 (C) 2012 Paul Burke/*from ww  w .  j  a  va 2  s.c om*/
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 

package com.ipaulpro.afilechooser;

import java.util.ArrayList;
import java.util.List;

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

 * List adapter for Files.
 * @version 2012-10-28
 * @author paulburke (ipaulpro)
public class FileListAdapter extends BaseAdapter {

  private final static int ICON_FOLDER = R.drawable.ic_folder;
  private final static int ICON_FILE = R.drawable.ic_file;

  private List<File> mFiles = new ArrayList<File>();
  private final LayoutInflater mInflater;

  public FileListAdapter(Context context) {
    mInflater = LayoutInflater.from(context);

  public ArrayList<File> getListItems() {
    return (ArrayList<File>) mFiles;

  public void setListItems(List<File> files) {
    this.mFiles = files;

  public int getCount() {
    return mFiles.size();

  public void add(File file) {

  public void clear() {

  public Object getItem(int position) {
    return mFiles.get(position);

  public long getItemId(int position) {
    return position;

  public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    ViewHolder holder = null;

    if (row == null) {
      row = mInflater.inflate(R.layout.file, parent, false);
      holder = new ViewHolder(row);
    } else {
      // Reduce, reuse, recycle!
      holder = (ViewHolder) row.getTag();

    // Get the file at the current position
    final File file = (File) getItem(position);

    // Set the TextView as the file name

    // If the item is not a directory, use the file icon
    holder.iconView.setImageResource(file.isDirectory() ? ICON_FOLDER
        : ICON_FILE);

    return row;

  static class ViewHolder {
    TextView nameView;
    ImageView iconView;

    ViewHolder(View row) {
      nameView = (TextView) row.findViewById(;
      iconView = (ImageView) row.findViewById(;

Java Source Code List