Funny you should mention a workaround, I did this in the drawListRow and it seems to work.
Code:
// Until I find a better way, this is how I get a single listchange event.
iValue = list.getSelectedIndex();
if(iValue != iSelIndex)
{
iSelIndex=iValue;
cfm.ChangeContent(menu[iSelIndex]);
}
I'll have to try it in moveFocus as I'm guessing it doesn't get called as much as drawListRow.
Thanks