I gave up on scheduling a future thread to give Android time to update the cursor position. I found a better way to suppress the soft keyboard and still get a blinking cursor to display in an EditText box. I coded an onTouchListener and returned true to disable the keyboard instead of using "mText.setInputType(InputType.TYPE_NULL)". I then had to get the touch position from the motion event to set the cursor to the correct spot.
Here is the code I used:
mText = (EditText) findViewById(R.id.editText1);
OnTouchListener otl = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Layout layout = ((EditText) v).getLayout();
float x = event.getX() + mText.getScrollX();
int offset = layout.getOffsetForHorizontal(0, x);
if(offset>0)
if(x>layout.getLineMax(0))
mText.setSelection(offset); // touch was at end of text
else
mText.setSelection(offset - 1);
break;
}
return true;
}
};
mText.setOnTouchListener(otl);