Reputation: 123
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
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
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
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
Reputation: 2596
Add a text view in the custom layout for the list and set position +"/10"
in that text view.
Upvotes: 0