0
我猜這只是我做了一些有點愚蠢的事情。我在我的佈局文件中加載了一些TextViews,用於創建數字鍵盤。他們是0-9這樣的:索尼smartwatch 2點擊事件沒有被提出
<TextView android:id="@+id/pad_number_7" android:text="@string/pad_number_text_7" style="@style/pad_button" />
的pad_button風格包括:
<item name="android:clickable">true</item>
然後在我的ControlExtension類的構造函數我打電話的方法稱爲wireUpButtons()使用如下代碼:
mLayout = parseLayout(((LayoutInflater)mContext.getSystemService("layout_inflater")).inflate(R.layout.pad_layout, null));
if (mLayout != null)
{
Log.d("DK", "Adding event for button 7");
ControlView controlview = mLayout.findViewById(R.id.pad_number_7);
controlview.setOnClickListener(new OnClickListener() {
@Override
public void onClick(){
Log.d("DK", "Button 7 clicked");
sendResult("7");
}
});
}
而且我的onResume顯示佈局:
@Override
public void onResume() {
showLayout(R.layout.pad_layout, null);
}
但是從未創建日誌條目,並且sendResult調用不會發生。有誰知道爲什麼我的點擊事件沒有解僱?打電話給事件確實發生了,因爲顯示了日誌第一個日誌條目,並且我試着將調用移動到wireUpButtons()到onResume函數(在showLayout調用之前和之後),沒有任何改變。
OK我意識到我錯過了onObjectClick方法通過單擊事件到處理程序: @Override 公共無效onObjectClick(最終ControlObjectClickEvent事件){ 如果(!event.getLayoutReference()= - 1){ mLayout.onClick(event.getLayoutReference()); } } 添加此方法後,現在所有工作。 – user2979644
您可能想將其作爲答案,以便其他人找到答案。 – Giszmo