2010-10-17 29 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