0
A
回答
2
關於匿名類的一點是你不需要引用它們。如果你確實需要參考一個類,它不應該是匿名的。
只因爲OnClickListener
s通常是匿名的並不意味着他們必須是。你可以這樣做。
private static final class MyListener implements View.OnClickListener {
private int field;
private int getField() { return field; }
// constructor and onClick() method
}
然後
MyListener myListener = new MyListener();
view.setOnClickListener(myListener);
int a = myListener.getField();
0
這是一個有點棘手訪問的變量出現在OnClickListener,但你有兩種選擇:
創建一個可以存儲一些值類,在外部創建一個實例並將其放到最終。最後,例如用setter修改類的內部值。
如果您的變量過於簡單,無法創建對象,請在長度爲1的最終數組外部創建一個對象,並在匿名類中指定該0位置的值。
1
爲什麼要麻煩,要麼命名您的班級,要麼將該變量移動到外部班級。
相關問題
- 1. 從匿名內部類設置外部類變量
- 2. 如何訪問內部類中的外部類變量
- 3. 如何訪問外部類的變量在內部類在c#
- 4. 從內部匿名運行訪問外部變量Runnable
- 5. 如何在匿名內部類中使用外部變量
- 6. 如何從內部類訪問外部類的類變量在紅寶石
- 7. 如何從內部類訪問變量
- 8. Java從內部類單例中訪問外部類變量
- 9. 從外部類訪問內部類私有變量
- 10. 訪問匿名外部類而不存儲在變量中?
- 11. 如何從匿名函數訪問外部變量?
- 12. 如何從外部類訪問屬於一個類的變量?
- 13. 訪問外部類的內部類
- 14. 如何從內部類訪問外部類的「this」?
- 15. 如何從C++的內部類訪問外部類對象
- 16. 如何從外部類的內部類訪問屬性?
- 17. 從外部訪問類變量
- 18. 在內部類中訪問外部類變量
- 19. 訪問外部類變量通過內部類對象主要
- 20. Java內部類訪問外部類變量
- 21. 從Java匿名內部類
- 22. 從內部匿名類
- 23. 的Java內部類 - 訪問外部對象的變量
- 24. 從內部類訪問變量
- 25. 變量沒有從內部類訪問
- 26. 從內部類訪問變量
- 27. 訪問本地變量從內部類
- 28. 爲什麼我們可以從外部類訪問內部類中的變量?
- 29. 從類內部訪問外部方法
- 30. 局部變量訪問內部類(java)