I am working on SoftKeyboard where I need to display text on keys as shown below in red blocks

As indicated in this link and this link , I use the code below,
protected void onDraw(Canvas canvas) {
if (canvas != null) {
super.onDraw(canvas);
}
Paint paint = new Paint();
paint.setTextSize(15);
paint.setColor(Color.RED);
int x2 = 0;
int y2 = 0;
int width = 0;
List<Key> keys = SoftKeyboard.currentKeyboard.getKeys();
for(Key key: keys) {
if(key.codes[0] == 113)
x2 = key.x;
y2 = key.y;
width = key.width;
canvas.drawText("1", x2 + (width/2), y2 + 5, paint);
}
}
My stack trace is shown below
FATAL EXCEPTION: java.lang.NullPointerException com.example.android.softkeyboard.CandidateView.onDraw(CandidateView.java:240) com.example.android.softkeyboard.CandidateView.setSuggestions(CandidateView.java:279) com.example.android.softkeyboard.SoftKeyboard.setSuggestions(SoftKeyboard.java:597) com.example.android.softkeyboard.SoftKeyboard.updateCandidates(SoftKeyboard.java:582) com.example.android.softkeyboard.SoftKeyboard.onFinishInput(SoftKeyboard.java:260) android.inputmethodservice.InputMethodService.doFinishInput(InputMethodService.java:1543) android.inputmethodservice.InputMethodService.doStartInput(InputMethodService.java:1552) android.inputmethodservice.InputMethodService $InputMethodImpl.startInput(InputMethodService.java:390) android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:158) com.android.internal.os.HandlerCaller $MyHandler.handleMessage(HandlerCaller.java:61) android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:153) android.app.ActivityThread.main(ActivityThread.java:5000) java.lang.reflect.Method.invokeNative( ) java.lang.reflect.Method.invoke(Method.java:511) com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:821) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) at dalvik.system.NativeStart.main( ) 10-19 13: 26: 04.844: E/Trace (17693): : (2)
, , , , - , canvas null.
, - , canvas null - .
: popupCharacters , 3 , ,

, .