Android Open Source - ShareList-Android Master Fragment






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;
//  ww  w  .  j  a  va  2  s  . c o m
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.view.ViewStub;

import com.j256.ormlite.stmt.GenericRowMapper;

import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.EFragment;
import org.androidannotations.annotations.OptionsItem;
import org.androidannotations.annotations.OptionsMenu;
import org.androidannotations.annotations.ViewById;
import org.mybop.sharelist.app.R;
import org.mybop.sharelist.app.control.ListController;
import org.mybop.sharelist.app.database.entity.ListEntity;
import org.mybop.sharelist.app.view.support.ListFragment;

import java.util.Arrays;

@EFragment(R.layout.fragment_list)
@OptionsMenu(R.menu.rowview)
public class MasterFragment extends ListFragment implements ListFragment.OnItemDeletionListener, ListFragment.OnItemSelectionListener {

    private static final String LOGGER_TAG = MasterFragment.class.getSimpleName();

    protected ListAdapter listAdapter;

    @ViewById(R.id.listEmpty)
    protected ViewStub empty;

    @AfterViews
    protected void initViews() {
        empty.setOnInflateListener(new ViewStub.OnInflateListener() {
            @Override
            public void onInflate(ViewStub stub, View inflated) {
                inflated.findViewById(R.id.addElementButton).setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        addElement();
                    }
                });
            }
        });
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        setOnItemDeletionListener(this);
        setOnItemSelectionListener(this);
    }

    public void setData(Cursor data, GenericRowMapper<ListEntity> mapper) {
        listAdapter = new ListAdapter(getActivity(), data, mapper);
        setAdapter(listAdapter);
    }

    public void updateData(Cursor data) {
        listAdapter.changeCursor(data);
    }

    @OptionsItem(R.id.action_add_element)
    public void addElement() {
        ((ListController) getActivity()).createNewList();
    }

    @Override
    public void onItemDeletion(Object[] deletedItems) {
        ((ListController) getActivity()).deleteAll(Arrays.copyOf(deletedItems, deletedItems.length, ListEntity[].class));
    }

    @Override
    public void onItemSelection(Object selectedItem) {
        ((ListController) getActivity()).displayDetails(((ListEntity) selectedItem).getId());
    }
}




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