2012-05-11 88 views
1

我正在嘗試創建一個自定義列表字段,其中,每行有兩個以上的可單擊按鈕。爲此,我定製了Horizo​​ntalFieldManager並創建了自己的管理器來對齊字段元素。現在用戶界面非常好。自定義Horizo​​ntalFieldManager中的子字段事件處理問題

但是,我正在努力處理兩者的事件工作。

步驟1我已經使用fieldChangedListener添加在行中的按鈕。這是工作的罰款

public void fieldChanged(Field field, int context) {} 

步驟2中已經使用導航點擊來處理父管理者的事件。

protected boolean navigationClick(int status, int time) { 
      Field field = getFieldWithFocus(); 
      Dialog.alert("shops field clicked");   
       return super.navigationClick(status, time); 
     } 

現在,即使導航點擊事件也適用。但是,該按鈕是添加到VFM的子域。當我點擊按鈕時,VFM和按鈕事件都會聚集在一起。

我怎樣才能限制按鈕,而單擊ButtonField時。

+0

嘗試在按鈕上應用'ButtonField.CONSUME_CLICK'樣式。 – Rupak

+0

我的回答是否回答了您的問題? – mrvincenzo

回答

2

如果我正確理解您的問題,您希望navigationClick()僅針對子字段(可單擊按鈕)調用,而不用爲管理員調用。對不起,讓你失望,但你不能。導航點擊事件總是首先被調用給經理,並且只有經理會將事件傳播給子字段。對於按鍵事件,觸摸事件,焦點事件等的保持不變...

描述你想要達到什麼,添加一個代碼片段,我相信我們會找到一個解決方案。

相關問題