Android Open Source - RSS-Steam Expandible List View Adapter






From Project

Back to project page RSS-Steam.

License

The source code is released under:

Apache License

If you think the Android project RSS-Steam 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.jddmxgg.ofertassteam;
/*  w w w. java2s. c o m*/
import java.util.HashMap;
import java.util.List;

import android.content.Context;
import android.graphics.Color;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.TextView;

public class ExpandibleListViewAdapter extends BaseExpandableListAdapter
{

  private Context _context;
  private List<String> _listDataHeader; // header titles
  // child data in format of header title, child title
  private HashMap<String, List<String>> _listDataChild;

  public ExpandibleListViewAdapter(Context context, List<String> listDataHeader, HashMap<String, List<String>> listChildData)
  {
    this._context = context;
    this._listDataHeader = listDataHeader;
    this._listDataChild = listChildData;
  }

  @Override
  public Object getChild(int groupPosition, int childPosititon)
  {
    return this._listDataChild.get(this._listDataHeader.get(groupPosition)).get(childPosititon);
  }

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

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

    final String childText = (String) getChild(groupPosition, childPosition);

    if (convertView == null)
    {
      LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      convertView = infalInflater.inflate(R.layout.list_item, null);
    }

    TextView txtListChild = (TextView) convertView.findViewById(R.id.list_item_app);

    txtListChild.setText(childText);
    txtListChild.setTextColor(Color.BLACK);
    return convertView;
  }

  @Override
  public int getChildrenCount(int groupPosition)
  {
    return this._listDataChild.get(this._listDataHeader.get(groupPosition)).size();
  }

  @Override
  public Object getGroup(int groupPosition)
  {
    return this._listDataHeader.get(groupPosition);
  }

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

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

  @Override
  public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent)
  {
    String headerTitle = (String) getGroup(groupPosition);
    if (convertView == null)
    {
      LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      convertView = infalInflater.inflate(R.layout.list_group, null);
    }

    TextView lblListHeader = (TextView) convertView.findViewById(R.id.list_group_name);
    lblListHeader.setTypeface(null, Typeface.BOLD);
    lblListHeader.setText(headerTitle);
    lblListHeader.setTextColor(Color.BLACK);

    return convertView;
  }

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

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




Java Source Code List

com.jddmxgg.ofertassteam.AboutUsActivity.java
com.jddmxgg.ofertassteam.Constants.java
com.jddmxgg.ofertassteam.DescriptionActivity.java
com.jddmxgg.ofertassteam.ExpandibleListViewAdapter.java
com.jddmxgg.ofertassteam.MainActivity.java
com.jddmxgg.ofertassteam.RssAdapter.java
com.jddmxgg.ofertassteam.RssFragment.java
com.jddmxgg.ofertassteam.RssItem.java
com.jddmxgg.ofertassteam.RssParser.java
com.jddmxgg.ofertassteam.RssService.java
com.jddmxgg.ofertassteam.SQLiteHelper.java
com.jddmxgg.ofertassteam.SimpleGestureFilter.java