想要计数ListView项目并在每个ListView项目上显示计数器

时间:2013-02-25 07:51:07

标签: android android-listview listviewitem

我被困在Count ListView项目中,并在特定ListView项目上显示计数器。请看以下实际上我想做的事情:

以下是ListView项目的示例:

教学大纲(列出项目计数)<我的标题>

实施例

  • 教学大纲(1/10)Android
  • 教学大纲(2/10)Java
  • 教学大纲(10/10)Java
  • ...更多

我从我的本地数据库中获取这些列表视图项目,请建议我任何想法

4 个答案:

答案 0 :(得分:1)

我建议您创建一些ListAdapter的子类,并在getView()方法中使用 int position 来获取每个子项的位置和数据源的大小获得总数。

例如,如果您使用SimpleCursorAdapter,请使用cursor.getCount()表示项目数,使用int position getView()参数获取每个孩子的位置(行)。

基本示例:

@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);
   }
}

答案 1 :(得分:0)

在列表的自定义布局中添加文本视图,并在该文本视图中设置position +"/10"

答案 2 :(得分:0)

您可以获得总项目的长度,然后尝试使用以下代码。

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

答案 3 :(得分:0)

您需要拥有自定义CursorAdapter,例如

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;
}
}