Try this:
Replace:
calGrid.requestFocusFromTouch();
calGrid.setSelection(startPosition);
with:
((ImageView)calGrid.getChildAt(startPosition)).setSelected(true);
I think it should solve your problem, if you aren't using an ImageView, change the cast to the kind of view you are using.