Android Open Source - DIYgenomics_Android Categories Activity






From Project

Back to project page DIYgenomics_Android.

License

The source code is released under:

/** * Copyright (C) 2010 DIYgenomics diygenomics.org * Copyright (C) 2010 Melanie Swan mxswan@gmail * Copyright (C) 2010 Michael Kolb * Copyright (C) 2010 Lawrence S. Wong * All rights reserved. * * M...

If you think the Android project DIYgenomics_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.diygenomics.pg;
//from   w  w  w .  j  a va  2  s  .  c o  m
import org.diygenomics.pg.utils.Flurry;
import org.diygenomics.pg.utils.MLog;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.BasicExpandableList;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupClickListener;
import android.widget.TextView;

import com.flurry.android.FlurryAgent;

public class CategoriesActivity extends Activity 
    implements OnGroupClickListener, OnChildClickListener, OnClickListener {

  static final String TAG = "Categories";
  static final String EXTRA_ITEM = "item";

  private CategoriesAdapter mCategoriesAdapter;
  private BasicExpandableList mCategories;
  private Data mData;

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MLog.enable(TAG);
    mData = Main.getData();
    View view = getLayoutInflater().inflate(R.layout.categories, null);
    TextView title = (TextView) view.findViewById(R.id.title);
    View info = view.findViewById(R.id.info);
    title.setText(getString(R.string.categories_title));
    mCategories = (BasicExpandableList) view.findViewById(R.id.categories);
    mCategoriesAdapter = new CategoriesAdapter();
    mCategories.setAdapter(mCategoriesAdapter);
    mCategories.setOnGroupClickListener(this);
    mCategories.setOnChildClickListener(this);
    info.setOnClickListener(this);
    FlurryAgent.onEvent(Flurry.EVENT_CATEGORIES);
    setContentView(view);
  }
  
  public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);
    return true;
  }
  
  public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == R.id.delete) {
      mData.deleteGenome(this);
      return true;
    }
    return false;
  }

  @Override
  public boolean onChildClick(ExpandableListView arg0, View arg1, int group,
      int child, long arg4) {
    String catitem = mData.getCategories().get(group).get(child);
    Intent intent = new Intent(CategoriesActivity.this, CategoryItemActivity.class);
    intent.putExtra(EXTRA_ITEM, catitem);
    startActivity(intent);
    return true;
  }

  @Override
  public boolean onGroupClick(ExpandableListView arg0, View groupview, int group,
      long arg3) {
    View ind = groupview.findViewById(R.id.selector);
    ind.setEnabled(mCategories.isGroupExpanded(group));
    return true;
  }
  
  @Override
  public void onClick(View arg0) {
    InfoHandler.getInstance().showInfo(this, R.string.info_categories);
  }
  
  class CategoriesAdapter extends BaseExpandableListAdapter {

    @Override
    public String getChild(int group, int child) {
      return mData.getCategories().get(group).get(child);
    }

    @Override
    public long getChildId(int group, int child) {
      return 0;
    }

    @Override
    public View getChildView(final int group, final int child, boolean isLast, View convertView,
        ViewGroup parent) {
      if (convertView == null) {
        convertView = getLayoutInflater().inflate(R.layout.categories_item, null);
      }
      TextView tv = (TextView) convertView.findViewById(R.id.label);
      View ind = convertView.findViewById(R.id.selector);
      ind.setVisibility(View.GONE);
      if (child % 2 == 0) {
        tv.setBackgroundResource(R.drawable.list_selector_background);
      } else {
        tv.setBackgroundResource(R.drawable.list_selector_background2);
      }
      tv.setText((String) getChild(group, child));
      tv.setEnabled(true);
      return convertView;
    }

    @Override
    public int getChildrenCount(int group) {
      return mData.getCategories().get(group).size();
    }

    @Override
    public Category getGroup(int group) {
      return mData.getCategories().get(group);
    }

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

    @Override
    public long getGroupId(int group) {
      return 0;
    }

    @Override
    public View getGroupView(int group, boolean isLast, View convertView,
        ViewGroup parent) {
      if (convertView == null) {
        convertView = getLayoutInflater().inflate(R.layout.categories_item, null);
      }
      convertView.setBackgroundResource(R.drawable.category_selector_background);
      View ind = convertView.findViewById(R.id.selector);
      ind.setEnabled(mCategories.isGroupExpanded(group));
      TextView tv = (TextView) convertView.findViewById(R.id.label);
      tv.setText(getGroup(group).getName());
      return convertView;
    }

    @Override
    public boolean hasStableIds() {
      return false;
    }

    @Override
    public boolean isChildSelectable(int arg0, int arg1) {
      return false;
    }
    
  }

}




Java Source Code List

android.widget.BasicExpandableList.java
android.widget.BasicListView.java
org.diygenomics.pg.CategoriesActivity.java
org.diygenomics.pg.CategoryItemActivity.java
org.diygenomics.pg.Category.java
org.diygenomics.pg.Constants.java
org.diygenomics.pg.Data.java
org.diygenomics.pg.DotUtils.java
org.diygenomics.pg.Genome.java
org.diygenomics.pg.ImportActivity.java
org.diygenomics.pg.InfoHandler.java
org.diygenomics.pg.Main.java
org.diygenomics.pg.MappingItem.java
org.diygenomics.pg.StudiesActivity.java
org.diygenomics.pg.Study.java
org.diygenomics.pg.Variant.java
org.diygenomics.pg.utils.CSVParser.java
org.diygenomics.pg.utils.ConditionVariantTableRowComparator.java
org.diygenomics.pg.utils.Flurry.java
org.diygenomics.pg.utils.MLog.java
org.diygenomics.pg.utils.Row.java