Расширить стандартный класс
Добавлено: 05 апр 2013, 09:09
Здравствуйте!
В ряде случаев удобно "обернуть" стандартный класс, добавив к нему несколько полезных методов. Пишу, например:
И в onCreate() Activity:
или так:
В любом случае вылезает ошибка преобразования типа:
E/AndroidRuntime(2472): Caused by: java.lang.ClassCastException: android.widget.ToggleButton
Почему-то наследник не приводится к типу родителя. Может, кто знает, в чем здесь дело...?
Спасибо за внимание. =)
В ряде случаев удобно "обернуть" стандартный класс, добавив к нему несколько полезных методов. Пишу, например:
Код: Выделить всё
package com.example;
import android.content.Context;
import android.widget.ToggleButton;
public class A extends ToggleButton {
public A(Context context) { //конструктор суперкласса
super(context);
}
private void addedMethod() {
//...
}
}Код: Выделить всё
A a = (A) findViewById(R.id.toggleButton1);Код: Выделить всё
A a = new A(this);
a = (A) findViewById(R.id.toggleButton1);E/AndroidRuntime(2472): Caused by: java.lang.ClassCastException: android.widget.ToggleButton
Почему-то наследник не приводится к типу родителя. Может, кто знает, в чем здесь дело...?
Спасибо за внимание. =)