我扩展了SimpleCursorAdapter,以便在选择项目时更改行背景颜色。
public class MyCursorAdaptor extends SimpleCursorAdapter
{
int SelectedItemPosition = -1;
public MyCursorAdaptor(Context context, int layout, Cursor c, String[] from, int[] to, int flags)
{
super(context, layout, c, from, to, flags);
}
@Override
public void bindView(View view, Context context, Cursor cursor)
{
super.bindView(view, context, cursor);
// SelectedItemPosition value is set from onclick event
if (cursor.getPosition() == SelectedItemPosition)
view.setBackgroundColor(Color.LTGRAY);
else
view.setBackgroundColor(Color.WHITE);
}
}
它在模拟器和我的Android平板电脑上运行良好,但不在我的Android手机上。正确显示所有项目,但选择项目时背景颜色不会更改。然后我发现实际上bindView在我的手机上根本没有被触发!?怎么可能!?
答案 0 :(得分:0)
好的,我发现实际上我在平板电脑和模拟器上调用了bindView,每次点击列表视图,但在我的手机上只有在滚动列表视图时才调用bindView。