我正在扩展Button
视图以MyButton
添加一些定制方法,即
public class MyButton extends Button {
public SignUpButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
// Bespoke methods etc.
}
然后在布局xml中
<com.package.mine.MyButton
android:id = "@+id/button"
android:layout_height="wrap_content"
android:layout_width="match_parent"
/>
这行得通 - 太棒了!但是,当我尝试将MyButton
类作为static
内部类放在我的活动中时,应用程序不断崩溃,即在我定义MyButton
为的活动中
public static class MyButton extends Button {
public SignUpButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
// Bespoke methods etc.
}
我在 xml 布局中将其称为
<com.package.mine.MyActivity.MyButton
android:id = "@+id/button"
android:layout_height="wrap_content"
android:layout_width="match_parent"
/>
manifest文件中的package定义为package="com.package.mine"
,logcat报错为:
java.lang.ClassNotFoundException: Didn't find class "com.package.mine.MyActivity.MyButton" on path: DexPathList[[zip file "/data/app/com.package.mine-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.package.mine-1, /vendor/lib, /system/lib]]
无法弄清楚我哪里出错了。有任何想法吗?谢谢。