dev_android
dev_android

Reputation: 8818

Android Categorized listview with heading

I have to display data from the database in a listview. I have fetch all the data in group by categoty and displayed in a Listview. I have used the following code.

private ListView infos;


@Override
public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);
  .........
  .........
  infos = new ListView(this);
  model = infoDataHelper.getCursor(addType);
  adapter = new InfoAdapter(model);
  infos.setAdapter(adapter);
  .........
  .........
}


class InfoAdapter extends CursorAdapter {

  public InfoAdapter(Cursor c) {
    super(getParent(), c);
    // TODO Auto-generated constructor stub
  }

  @Override
   public void bindView(View row, Context ctxt, Cursor c) {
    InfoHolder holder = (InfoHolder) row.getTag();
    holder.populateTable(c, infoDataHelper);
   }

   @Override
   public View newView(Context ctxt, Cursor c, ViewGroup parent) {

    LayoutInflater inflater = getLayoutInflater();

    View row;
        row = inflater.inflate(R.layout.inforow, parent, false);

    InfoHolder holder = new InfoHolder(row);
    row.setTag(holder);
    table_id++;
    return (row);
   }

}

Now I want to add heading categoty name on result set so that it looks like that-

Categoty Fruit
  Apple
  Mango
  Grape

Category Flower
 Rose
 Lotus
 Jesmine

and so on..

How can I make it? Does the addHeaderView work for it? If it is, How I can add it?

Upvotes: 5

Views: 12892

Answers (1)

Kartik Domadiya
Kartik Domadiya

Reputation: 29968

Hey i was also having the same problem long before. After much googling i found this tutorial http://eshyu.wordpress.com/2010/08/15/cursoradapter-with-alphabet-indexed-section-headers/ . It worked for me.

Upvotes: 2

Related Questions