Android Open Source - ShareList-Android Checkable Linear Layout






From Project

Back to project page ShareList-Android.

License

The source code is released under:

GNU General Public License

If you think the Android project ShareList-Android 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 org.mybop.sharelist.app.view.support;
//  w w w.  j  av a  2s  .  com
import android.content.Context;
import android.util.AttributeSet;
import android.widget.Checkable;
import android.widget.LinearLayout;

/**
 * Created by gautier on 16/03/2014.
 */
public class CheckableLinearLayout extends LinearLayout implements Checkable {

    private static final int[] CHECKED_STATE_SET = {
            android.R.attr.state_checked
    };

    private boolean checked = false;

    public CheckableLinearLayout(Context context) {
        super(context);
    }

    public CheckableLinearLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected int[] onCreateDrawableState(int extraSpace) {
        final int[] drawableState = super.onCreateDrawableState(extraSpace + 1);
        if (isChecked()) {
            mergeDrawableStates(drawableState, CHECKED_STATE_SET);
        }
        return drawableState;
    }

    @Override
    public void setChecked(boolean checked) {
        this.checked = checked;
        refreshDrawableState();

//        //Propagate to childs
//        final int count = getChildCount();
//        for (int i = 0; i < count; i++) {
//            final View child = getChildAt(i);
//            if (child instanceof Checkable) {
//                ((Checkable) child).setChecked(checked);
//            }
//        }
    }

    @Override
    public boolean isChecked() {
        return checked;
    }

    @Override
    public void toggle() {
        setChecked(!checked);
    }
}




Java Source Code List

org.mybop.sharelist.app.ShareListApplication.java
org.mybop.sharelist.app.control.DetailActivity.java
org.mybop.sharelist.app.control.DetailController.java
org.mybop.sharelist.app.control.ListController.java
org.mybop.sharelist.app.control.MainActivity.java
org.mybop.sharelist.app.database.DatabaseHelper.java
org.mybop.sharelist.app.database.NoIdCursorWrapper.java
org.mybop.sharelist.app.database.entity.ElementEntity.java
org.mybop.sharelist.app.database.entity.ListEntity.java
org.mybop.sharelist.app.database.repository.ElementRepository.java
org.mybop.sharelist.app.database.repository.ListRepository.java
org.mybop.sharelist.app.util.ArrayUtil.java
org.mybop.sharelist.app.view.DetailAdapter.java
org.mybop.sharelist.app.view.DetailFragment.java
org.mybop.sharelist.app.view.ListAdapter.java
org.mybop.sharelist.app.view.MasterFragment.java
org.mybop.sharelist.app.view.support.CheckableLinearLayout.java
org.mybop.sharelist.app.view.support.CheckableRelativeLayout.java
org.mybop.sharelist.app.view.support.ListFragment.java
org.mybop.sharelist.app.view.support.OrmLiteAdapter.java