0
我正在創建一個EditText
子類,我想將一個可編輯變量傳遞給超類。Android可編輯是抽象的;不能實例化
當我最初嘗試
private Editable unicodeText = new Editable();
我得到了錯誤
'編輯' 是抽象的;無法實例化
在Google中搜索此錯誤沒有返回任何有用的結果,所以現在我找到了答案,我在下面添加了一個答案。
我正在創建一個EditText
子類,我想將一個可編輯變量傳遞給超類。Android可編輯是抽象的;不能實例化
當我最初嘗試
private Editable unicodeText = new Editable();
我得到了錯誤
'編輯' 是抽象的;無法實例化
在Google中搜索此錯誤沒有返回任何有用的結果,所以現在我找到了答案,我在下面添加了一個答案。
Editable
是一個接口,而不是一個類,因此不能實例化。
接口無法實例化 - 它們只能由類實現或由其他接口擴展。 (docs)
然而,類SpannableStringBuilder
實現Editable
這樣你就可以做到以下幾點:
private Editable unicodeText = new SpannableStringBuilder();
感謝this answer設置我在正確的軌道上。
這不是一個有用的結果? http://stackoverflow.com/questions/8519943/class-room-is-abstract-cannot-be-instantiated –
@ cricket_007,我的問題是關於如何使一個'可編輯的'對象,而不僅僅是「不能實例化抽象「的問題。 [Android如何將字符串轉換爲可編輯](http://stackoverflow.com/questions/13352531/android-how-can-i-convert-a-string-to-a-editable)是一個適當標記的重複。 – Suragch
你的問題沒有包括你的最終目標 - 它只是列出了你嘗試實例化抽象類的錯誤,這個錯誤已經有很多答案了。有一個單獨的問題來實例化抽象類的每個子類是不可行的或有幫助的。如果你的問題是「將一個字符串包裝成可編輯的最佳子類是什麼」,那麼你應該問這個問題......儘管它可能不是主題,而是作爲外部資源的請求。 – yshavit