2013-08-06 92 views
0

我想在CheckBoxPreference中顯示一個額外的按鈕。我已經通過將CheckBoxPreference和自定義佈局(使用this代碼作爲基礎)進行了分類管理。但是,我很努力地將OnClickListener添加到我的PreferenceActivity中的此按鈕。我嘗試過使用全局變量OnClickListener - 在擴展CheckBoxPreference的類中使用全局變量-方法PreferenceActivity應該返回首選項的視圖(可以使用findViewById(R.id.my_button),但兩種方法都不起作用: - 。(帶附加按鈕的CheckBoxPreference?

+0

在'onBindView'方法中使用'findViewById'的例子,爲什麼你不能在那裏使用它? – dst

+0

我不知道如何將PreferenceActivity中定義的onClickListener分配給自定義首選項類中的按鈕。我可以在onBindView中定義一個* local * onClickListener,但不知道如何通過類來完成。 – Nick

+0

我假設你能夠訪問'CheckBoxPreferenceSubclassWithButton'?就像在你鏈接的例子中的'setIcon'方法一樣,應該可以爲click監聽器提供一個實例變量(相當於示例中的'mIcon'),然後在'onBindView'本地設置監聽器並創建一個'setListener'方法設置監聽器實例變量並調用'notifyChanged'。 – dst

回答

1

爲您的CheckBoxPreference子類,其中包含要設置的偵聽器內點擊收聽一個實例變量創建此變量的二傳手,設定值以後調用notifyChanged()這將導致onBindView方法被調用聽衆的變化

現在你可以使用這個變量從onBindView,將聽衆設置爲該按鈕的視圖(view.findViewById(R.id.yourbuttonid))。

+0

謝謝:)正如已經提到的,這很好 – Nick