CKnDROID
CKnDROID

Reputation: 123

Want Count ListView Items and show counter on every ListView Items

I got stuck in Counting ListView items and show Counters on Particular ListView Items . Pleas see below for actually what I want to do:

Here's a sample of ListView Items:

Syllabus (List Items Counting) < My Heading >

Ex.

I am getting these list view items from My Local Database, Please suggest me any ideas

Upvotes: 2

Views: 2623

Answers (4)

Simon Dorociak
Simon Dorociak

Reputation: 33495

I recommend to you create subclass of some ListAdapter and in getView() method just use int position for getting position of each child and size of datasource for getting total count.

For example if you'll use SimpleCursorAdapter so use cursor.getCount() for count of items and int position parameter of getView() method for getting position of each child(row).

Basic example:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
   if (c.moveToPosition(position) { 
      String name = c.getString(c.getColumnIndex(Constants.COL));
      String another = c.getString(c.getColumnIndex(Constants.COL_2));
      String text = value + "(" + String.valueOf(position) + "/" + String.valueOf(c.getCount()) + ") " + another; 
      textView.setText(text);
   }
}

Upvotes: 1

Kapil Vats
Kapil Vats

Reputation: 5515

You need to have your custom CursorAdapter, like

public class ExampleCursorAdapter extends CursorAdapter {
public ExampleCursorAdapter(Context context, Cursor c) {
    super(context, c);
}

@Override
public void bindView(View view, Context context, Cursor cursor) {
    TextView summary = (TextView)view.findViewById(R.id.summary);
    summary.setText(cursor.getString(
            cursor.getColumnIndex(ExampleDB.KEY_EXAMPLE_SUMMARY)));
}

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
    LayoutInflater inflater = LayoutInflater.from(context);
    View v = inflater.inflate(R.layout.item, parent, false);
    bindView(v, context, cursor);
    return v;
}
}

Upvotes: 0

kyogs
kyogs

Reputation: 6836

you can get length of total item and then try with below code.

for (int i = 0; i < length; i++) {
 Syllabus (i/total length) < My Heading >
       }

Upvotes: 0

AnujMathur_07
AnujMathur_07

Reputation: 2596

Add a text view in the custom layout for the list and set position +"/10" in that text view.

Upvotes: 0

Related Questions