Android Open Source - android-expandable-list-dock-header My Expandable List Adapter






From Project

Back to project page android-expandable-list-dock-header.

License

The source code is released under:

Apache License

If you think the Android project android-expandable-list-dock-header 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.josketres;
/*from   www.j a  va2 s .  c om*/
import java.util.ArrayList;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.CheckedTextView;
import android.widget.TextView;
import android.widget.Toast;

@SuppressLint("InflateParams")
public class MyExpandableListAdapter extends BaseExpandableListAdapter {

  private Activity activity;
  private ArrayList<Object> childtems;
  private LayoutInflater inflater;
  private ArrayList<String> parentItems, child;

  public MyExpandableListAdapter(ArrayList<String> parents,
      ArrayList<Object> childern) {
    this.parentItems = parents;
    this.childtems = childern;
  }

  public void setInflater(LayoutInflater inflater, Activity activity) {
    this.inflater = inflater;
    this.activity = activity;
  }

  @SuppressWarnings("unchecked")
  @Override
  public View getChildView(int groupPosition, final int childPosition,
      boolean isLastChild, View convertView, ViewGroup parent) {

    child = (ArrayList<String>) childtems.get(groupPosition);

    TextView textView = null;

    if (convertView == null) {
      convertView = inflater.inflate(R.layout.group, null);
    }

    textView = (TextView) convertView.findViewById(R.id.textView1);
    textView.setText(child.get(childPosition));

    convertView.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View view) {
        Toast.makeText(activity, child.get(childPosition),
            Toast.LENGTH_SHORT).show();
      }
    });

    return convertView;
  }

  @Override
  public View getGroupView(int groupPosition, boolean isExpanded,
      View convertView, ViewGroup parent) {

    if (convertView == null) {
      convertView = inflater.inflate(R.layout.row, null);
    }

    ((CheckedTextView) convertView).setText(parentItems.get(groupPosition));
    ((CheckedTextView) convertView).setChecked(isExpanded);

    return convertView;
  }

  @Override
  public Object getChild(int groupPosition, int childPosition) {
    return null;
  }

  @Override
  public long getChildId(int groupPosition, int childPosition) {
    return 0;
  }

  @SuppressWarnings("unchecked")
  @Override
  public int getChildrenCount(int groupPosition) {
    return ((ArrayList<String>) childtems.get(groupPosition)).size();
  }

  @Override
  public Object getGroup(int groupPosition) {
    return null;
  }

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

  @Override
  public void onGroupCollapsed(int groupPosition) {
    super.onGroupCollapsed(groupPosition);
  }

  @Override
  public void onGroupExpanded(int groupPosition) {
    super.onGroupExpanded(groupPosition);
  }

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

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

  @Override
  public boolean isChildSelectable(int groupPosition, int childPosition) {
    return false;
  }

}




Java Source Code List

com.josketres.MainActivity.java
com.josketres.MyExpandableListAdapter.java
com.josketres.MyExpandableListView.java