Android Open Source - Billy Custom Base Adapter






From Project

Back to project page Billy.

License

The source code is released under:

GNU General Public License

If you think the Android project Billy 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.vibin.billy;
/*from ww w.j  a  va2  s .  com*/
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.support.annotation.LayoutRes;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import android.widget.Toast;

import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;

import java.util.ArrayList;

class CustomBaseAdapter extends BaseAdapter {

    private static final String TAG = CustomBaseAdapter.class.getSimpleName();
    Context c;
    ArrayList<ProcessingTask.BillyData> mData;
    ImageLoader imgload;
    SharedPreferences sharedPref;
    BillyApplication billyapp;
    @LayoutRes int resource;

    CustomBaseAdapter(Context c, ArrayList<ProcessingTask.BillyData> arrayList, ImageLoader imgload) {
        this.c = c;
        mData = arrayList;
        this.imgload = imgload;
        sharedPref = PreferenceManager.getDefaultSharedPreferences(c);
        billyapp = BillyApplication.getInstance();
        checkCompactCards();
        PreferenceManager.getDefaultSharedPreferences(c).registerOnSharedPreferenceChangeListener(myPrefListner);
    }

    SharedPreferences.OnSharedPreferenceChangeListener myPrefListner = new SharedPreferences.OnSharedPreferenceChangeListener() {
        public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
            checkCompactCards();
        }
    };

    /**
     * Switch to smaller layout for cards in the Listview
     */

    private void checkCompactCards() {
        if (sharedPref.getBoolean("compactCards", true)) {
            resource = c.getResources().getIdentifier("single_row_compact", "layout", c.getPackageName());
        } else {
            resource = c.getResources().getIdentifier("single_row", "layout", c.getPackageName());
        }
    }

    public void updateArrayList(ArrayList<ProcessingTask.BillyData> arraylist) {
        mData = arraylist;
    }

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

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

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

    static class MyViewHolder {
        TextView album, artist, song;
        NetworkImageView artwork;

        MyViewHolder(View row) {
            album = (TextView) row.findViewById(R.id.album);
            artist = (TextView) row.findViewById(R.id.artist);
            song = (TextView) row.findViewById(R.id.song);
            song.setMaxLines(2);
            album.setMaxLines(1);
            song.setEllipsize(TextUtils.TruncateAt.END);
            album.setEllipsize(TextUtils.TruncateAt.END);
            artwork = (NetworkImageView) row.findViewById(R.id.artwork);
        }
    }


    @Override
    public View getView(int i, View convertView, ViewGroup viewGroup) {
        View row = convertView;
        MyViewHolder holder;
        if (row == null) {
            LayoutInflater lif = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            row = lif.inflate(resource, viewGroup, false);
            holder = new MyViewHolder(row);

            row.setTag(holder);
        } else {
            holder = (MyViewHolder) row.getTag();
        }

        ProcessingTask.BillyData temp = mData.get(i);

        //Log.d(TAG, i + " " + temp.album + " " + temp.artist + " " + temp.song + " " + temp.artwork);

        holder.album.setText(temp.album);
        holder.artist.setText(temp.artist);
        holder.song.setText(temp.song);
        holder.artwork.setImageUrl(temp.artwork, imgload);

        return row;
    }
}




Java Source Code List

com.vibin.billy.BillyApplication.java
com.vibin.billy.BillyItem.java
com.vibin.billy.BitmapLruCache.java
com.vibin.billy.ChangelogDialog.java
com.vibin.billy.CustomBaseAdapter.java
com.vibin.billy.CustomDatabaseAdapter.java
com.vibin.billy.CustomFragmentAdapter.java
com.vibin.billy.CustomListPreference.java
com.vibin.billy.CustomShareActionProvider.java
com.vibin.billy.CustomStringRequest.java
com.vibin.billy.DetailView.java
com.vibin.billy.LicensesFragment.java
com.vibin.billy.MainActivity.java
com.vibin.billy.MediaControl.java
com.vibin.billy.NotifyingScrollView.java
com.vibin.billy.PPlayerService.java
com.vibin.billy.PlayerService.java
com.vibin.billy.ProcessingTask.java
com.vibin.billy.ReorderedListPreference.java
com.vibin.billy.Settings.java
com.vibin.billy.SongsFragment.java
com.vibin.billy.SwingBottomInAnimationAdapter.java
com.vibin.billy.draglistview.DynamicListView.java
com.vibin.billy.draglistview.StableArrayAdapter.java
com.vibin.billy.swipeable.ActivitySwipeDismissListener.java
com.vibin.billy.swipeable.AnimationUtils.java
com.vibin.billy.swipeable.SwipeDismissViewGroup.java
com.vibin.billy.swipeable.SwipeListener.java
com.vibin.billy.swipeable.SwipeableActivity.java
com.vibin.billy.swipeable.WindowDimens.java
com.vibin.billy.swipeable.WindowUtils.java
org.videolan.libvlc.AudioOutput.java
org.videolan.libvlc.EventHandler.java
org.videolan.libvlc.HWDecoderUtil.java
org.videolan.libvlc.IVideoPlayer.java
org.videolan.libvlc.LibVLC.java
org.videolan.libvlc.LibVlcException.java
org.videolan.libvlc.LibVlcUtil.java
org.videolan.libvlc.MediaList.java
org.videolan.libvlc.Media.java
org.videolan.libvlc.TrackInfo.java