2014-01-09 73 views
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調用之前和之後),沒有任何改變。

+0

OK我意識到我錯過了onObjectClick方法通過單擊事件到處理程序: @Override 公共無效onObjectClick(最終ControlObjectClickEvent事件){ 如果(!event.getLayoutReference()= - 1){ mLayout.onClick(event.getLayoutReference()); } } 添加此方法後,現在所有工作。 – user2979644

+1

您可能想將其作爲答案,以便其他人找到答案。 – Giszmo

回答

1

OK我意識到我錯過了onObjectClick方法傳遞click事件到處理程序:

@Override 
public void onObjectClick(final ControlObjectClickEvent event) { 
    if (event.getLayoutReference() != -1) { 
     mLayout.onClick(event.getLayoutReference()); 
    } 
} 

加入這種方法,所有的工作後,現在