Android Open Source - budget-envelopes Envelopes Adapter

From Project

Back to project page budget-envelopes.


The source code is released under:

GNU General Public License

If you think the Android project budget-envelopes 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

 * This file is a part of Budget with Envelopes.
 * Copyright 2013 Michael Howell <>
 *//from ww w . j  av  a  2s .  co  m
 * Budget is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * Budget is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with Budget. If not, see <>.

package com.notriddle.budget;

import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CursorAdapter;
import android.widget.TextView;

public class EnvelopesAdapter extends CursorAdapter {
    LayoutInflater mInflater;

    private int sdkVersion = android.os.Build.VERSION.SDK_INT;

    public EnvelopesAdapter(Context cntx, Cursor csr) {
        super(cntx, csr, 0);
        mInflater = LayoutInflater.from(cntx);

    private static class CardContents {
        public CardContents(View v) {
            name = (TextView) v.findViewById(;
            value = (TextView) v.findViewById(;
            parent = v;
        public View parent;
        public TextView name;
        public TextView value;

    @Override public void bindView(View v, Context cntx, Cursor csr) {
        CardContents contents = (CardContents) v.getTag();
        fillCardContents(cntx, contents, csr);

    @Override public View newView(Context cntx, Cursor csr, ViewGroup par) {
        View retVal = mInflater.inflate(R.layout.card, par, false);
        CardContents contents = new CardContents(retVal);
        fillCardContents(cntx, contents, csr);
        return retVal;

    private void fillCardContents(Context cntx, CardContents contents, Cursor csr) {"name")));
        long cents = csr.getLong(csr.getColumnIndexOrThrow("cents"));
        contents.value.setText(EditMoney.toColoredMoney(cntx, cents));
        int color = csr.getInt(csr.getColumnIndexOrThrow("color"));
        if(sdkVersion < android.os.Build.VERSION_CODES.JELLY_BEAN) {
        } else {


    public static Drawable getColorStateDrawable(int color) {
        StateListDrawable retVal = new StateListDrawable();
        Drawable normal = new ColorDrawable(color);
        Drawable superS = new ColorDrawable(0xFF99CC00);
        Drawable select = new ColorDrawable(0x8899CC00);
        retVal.addState(new int[] {android.R.attr.state_pressed}, select);
        retVal.addState(new int[] {android.R.attr.state_focused}, select);
        retVal.addState(new int[] {android.R.attr.state_checked}, superS);
        retVal.addState(new int[] {android.R.attr.state_selected}, select);
        retVal.addState(new int[0], normal);
        return retVal;

Java Source Code List