2010-10-17 58 views
1

我可以找到與電路板共享的唯一可用的重現示例是Android示例代碼NotePad,它以「NotesList」的形式加載到IDE的Package Explorer中。Java問題,但Android問題,這是爲什麼:

我想知道爲什麼,在包的NoteEditor.java中,LinedEditText(從EditText擴展)不能被重命名?換句話說,爲什麼我不能將這個擴展類重寫爲單詞所在的兩行中的「Lined_EditText」,在它的類名和它的構造函數中?就我所能確定的而言,它們是唯一的兩個位置,整個包裹中存在的詞語。

(有一個在http://moonblink.googlecode.com/svn/trunk/HermitAndroid/doc/org/hermit/android/widgets/LinedEditText.html的org.hermit.android.widgets.LinedEditText,但在Android SDK這個記事本樣品不導入類,樣本只導入android.widget.EditText。)

謝謝你的幫助。

回答

1

那類是從描述UI佈局文件中引用 - http://developer.android.com/resources/samples/NotePad/res/layout/note_editor.html

如果更改,恕不佈局文件使用名稱中的Java類的名稱,佈局將通脹過程中失敗。您應該在日誌中看到有關充氣失敗的明確錯誤消息,它無法找到LinedEditText類以及發生什麼行。

NotePad示例不會導入您引用的LinedEditText類,因爲.. 。好吧,它正在代碼上實現自己的LinedEditText。事實上,您引用的來源可能只是從NotePad示例中複製而來。

+0

非常好,謝謝hackbod。 – user225626 2010-10-18 00:02:12

1

我沒有前面的例子來確認,但如果這是文件中的主類,它必須與文件名匹配。

因此,如果文件名也被重命名爲Lined_EditText.java,您可以將其重命名爲Lined_EditText。

如果您使用Eclipse(或任何體面的IDE),它應該在上下文菜單中使用重構選項爲您處理。

+0

感謝您的回覆,Aaron C.我從來不知道重構。 – user225626 2010-10-18 00:03:45