2011-02-09 80 views
0

給你一些背景: 我成功地使用AspectJ的Android項目,我寫了一個@Background註釋,我適用於不能阻止主UI線程的方法。 這個註解被一個切入點和一個周圍的建議截獲,這個建議負責在後臺線程中運行代碼並處理網絡錯誤和用戶通知。如何對具有特定註釋的方法的類進行內部類型注入?

我想下一步要做的就是要具有這樣的背景方法 這必須通過重載的方法具有以下簽名來完成所有活動自動提供的菜單上的重新加載按鈕: 公共布爾onCreateOptionsMenu(菜單菜單);

不做背景的活動不需要菜單,因此不會覆蓋該方法。

那麼,有沒有一種方法,使AspectJ的覆蓋方法,在短短那些有(至少)與特定的標註方法的類?

還是有更優雅的解決方案?

感謝, 卡洛斯。

回答

0

看一看hasMethod型式(您可以看到用於bug report的用法)。您應該能夠將標記接口添加到具有所需簽名的方法的類型中,然後將onCreateOptionsMenu引入它。

+0

謝謝@ramnivas。這看起來可能有用,但有兩個問題:1)該功能在7年前被請求,並且被延遲了幾次,並且仍然沒有從我在更新日誌中看到的最新里程碑版本中發佈。2)使用標記接口模式意味着Inter-type注入將在界面上完成。如果是這樣的話,我不明白我可以如何調用已在Activity超類上聲明的所有活動擴展的其他方法......作爲解決方法,我使用了聲明父模式,並讓這些類擴展了一個已被覆蓋的類該方法 – anjosc 2011-02-11 14:31:16

相關問題