I tried quite a number of suggestions while I sifted through the Stackoverflow forum but one of them worked without hassles.
It is short and simple: simulate a tap on the EditText component.
You can do this by doing:
edittext..dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN , 0, 0, 0));
edittext.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP , 0, 0, 0));
Of course, when doing it programmatically, the first thing we do is call requestFocus() but there are certain cases where the soft keyboard will not show up. The code above will ensure that the soft keyboard will always show when it is called.