0
我在視圖擴展中有以下雙擊手勢,如下所示。此事件在被解僱時將焦點更改爲我下面的視圖。 MyView.this.requestFocus();被調用,並出現鍵盤。不幸的是(在運行android 4.0.4的galaxy note 2上)我根本沒有收到dispatchKeyEvent回調。在運行Android 4.4+的Nexus 4上,我收到了此回調。我不確定如何繼續。dispatchKeyEvent不叫
private class DoubleTapGestureListener extends SimpleOnGestureListener {
private Context mContext;
private Rect mTextBounds;
public DoubleTapGestureListener(Context context) {
super();
mContext = context;
}
@Override
public boolean onDoubleTap(MotionEvent e) {
float xValue = e.getX();
float yValue = e.getY();
for (PaintBrush brush : brushes) {
mTextBounds = brush.getTextBounds();
if (mTextBounds.contains((int)xValue, (int)yValue)) {
Log.i(TAG, "Doubletap on text!");
InputMethodManager imm = (InputMethodManager) mContext
.getSystemService(Context.INPUT_METHOD_SERVICE);
MyView.this.requestFocus();
imm.showSoftInput(MyView.this,
InputMethodManager.SHOW_FORCED);
}
}
return true;
}
public void setTextBounds(Rect mTextBounds) {
this.mTextBounds = mTextBounds;
}
}
}
對不起,我對android開發有點新,但是事件確實在其他設備上啓動。因此,在這種情況下,我們會推薦什麼,以便我可以接收Galaxy Note 2以及nexus設備上的觸發事件? – TheCodingArt
當他們按下鍵盤按鍵時,我特別需要一個關閉事件的事件,以便我可以將字符串值附加到我具有的模型對象並重畫屏幕。 – TheCodingArt
Android的軟鍵盤不能像那樣工作。您必須爲您的視圖實施InputConnection,這是相當多的工作。 –