我有一个自定义适配器列表视图,显示联系人的姓名。目前它显示为
罗希特夏尔
拉胡尔
....
我希望它像
- 罗希特
- 的Rahul ....
醇>
即,数字应自动附加。我尝试在bindview()和amp;中使用count变量来做到这一点。 newview()方法,但当我向下滚动并返回时它会搞砸了
我设置文字的方式是
name = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
contactName.setText(count + ". " + name);
答案 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);