我有一个简单的游标适配器和一个ListView,工作得很好。我将名称输出到ListView项目XML中的3个TextViews之一。
但是,基于用户的偏好,我想把名字从 "Jeff Jones "改为 "Jones, Jeff"。
我想我可以通过覆盖SetViewValue()方法来实现。
只是一个简单的
public boolean setViewValue(View view, Cursor cursor, int i) {
if (view.getId() == R.id.Name) {
String Name = cursor.getString(cursor.getColumnIndex(nameColumn));
Name = Name.substring(Name.lastIndexOf(" ") + 1) + ", " + Name.substring(0, Name.lastIndexOf(" "));
((TextView) view).setText(Name);
}
}
如果我在调试器中一步步完成,我正确地构建了 "Last, First "字符串并设置了TextView的值。但在ListView中,文本显示为 "First Last"。
我的错误在哪里?
我忘了返回true来表示该值已被覆盖。
return true;