编号列表视图的内容

时间:2013-01-23 14:33:47

标签: android listview

我有一个自定义适配器列表视图,显示联系人的姓名。目前它显示为

  

罗希特夏尔
  拉胡尔
  ....

我希望它像

  
      
  1. 罗希特
  2.   
  3. 的Rahul   ....
  4.   

即,数字应自动附加。我尝试在bindview()和amp;中使用count变量来做到这一点。 newview()方法,但当我向下滚动并返回时它会搞砸了

我设置文字的方式是

name = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
contactName.setText(count + ". " + name);

4 个答案:

答案 0 :(得分:1)

尝试

name = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
contactName.setText(cursor.getPosition() + ". " + name);

答案 1 :(得分:0)

也许尝试:long count = cursor.getPosition();

答案 2 :(得分:0)

这应该适合您的需要:

public class CustomCursoAdapter extends SimpleCursorAdapter{

    public CustomCursoAdapter(Context context, int layout, Cursor c,
            String[] from, int[] to) {
        super(context, layout, c, from, to);
        // TODO Auto-generated constructor stub
        }

    @Override
    public void bindView(View view, Context context, Cursor cursor)
    {
            int count =cursor.getPosition()+1;
            RelativeLayout rl = (RelativeLayout) view;
            TextView tv = (TextView) rl.findViewById(R.id.serial_no);
            tv.setText(""+count);
        super.bindView(view, context, cursor);
    }
}

答案 3 :(得分:0)

使用

从光标获取位置
long count = cursor.getPosition();

然后

name = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
contactName.setText(cursor.getPosition() + ". " + name);