Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 669
dev_android Avatar asked Nov 06 '22 00:11

dev_android


1 Answers

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.

like image 56
Kartik Domadiya Avatar answered Nov 11 '22 10:11

Kartik Domadiya