Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Booker DeWitt
1 / 1 / 0
Регистрация: 04.05.2013
Сообщений: 20
#1

Расширил класс Button. Как нужно подправить XML-layout? Еще ClassCastException - Android

27.01.2014, 20:50. Просмотров 1146. Ответов 3
Метки нет (Все метки)

Расширил класс Button:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.some.thing;
 
import android.content.Context;
import android.util.AttributeSet;
import android.widget.Button;
 
public class ButtonVar extends Button{
    protected boolean correct = false;
    ButtonVar (Context context){
        super(context);
    }
    ButtonVar (Context context, AttributeSet attrs){
        super(context, attrs);
    }
    ButtonVar (Context context, AttributeSet attrs, int defStyle){
        super(context, attrs, defStyle);
    }
    public void setCorrect (boolean correct){
        this.correct = correct;
    }
    public boolean getCorrect (){
        return this.correct;
    }
}
А вот моя кнопка в XML:
XML
1
2
3
4
5
6
7
8
9
10
<Button
        android:id="@+id/buttonVar1"
        style="@style/ButtonVars"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:text="@string/button_var1_default"
        />
Что нужно подправить в XML? Я так понимаю тег Button должен изменить вид. И может еще где-то что-то надо подправить? Если заменить Button на com.some.thing.ButtonVar, то редактор layout выдает:
The following classes could not be instantiated:
- com.some.thing.ButtonVar (Open Class, Show Error Log)
Еще у меня ClassCastException вываливается здесь:
Java
1
btnVar1 = (ButtonVar) findViewById (R.id.buttonVar1);
Может это взаимосвязано?

Спасибо заранее за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 20:50     Расширил класс Button. Как нужно подправить XML-layout? Еще ClassCastException
Посмотрите здесь:

Абстрактный класс для layout Android
Переход на другой layout через button Android
Android Как растянуть 3 кнопки по ширине layout?
Android Существует ли программа для перевода layout-xml в java класс?
Не хочет работать в layout, но включается в layout-land Android
Android At android.widget.LinearLayout.setChildFrame Layout в Layout-те
Android Добавить layout на layout
Android Java.lang.ClasscastException
Android Layout как новый Activity
Android Как в Android положить один объект (button) на другой (button)?
Android Не могу разобраться с разметкой xml - layout'a
Android Layout, button, setVisibility

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
27.01.2014, 22:15     Расширил класс Button. Как нужно подправить XML-layout? Еще ClassCastException #2
Booker DeWitt, в xml:

XML
1
2
3
4
5
6
7
8
9
10
<com.some.thing.ButtonVar 
        android:id="@+id/buttonVar1"
        style="@style/ButtonVars"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:text="@string/button_var1_default"
        />
тогда не будет ошибки ClassCast.

И сделайте ребилд.
Booker DeWitt
1 / 1 / 0
Регистрация: 04.05.2013
Сообщений: 20
27.01.2014, 22:43  [ТС]     Расширил класс Button. Как нужно подправить XML-layout? Еще ClassCastException #3
YuraAAA, ошибка, ссылается на строку
XML
1
<com.some.thing.ButtonVar
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.some.thing/com.some.thing.MainActivity}: android.view.InflateException: Binary XML file line #22: Error inflating class com.some.thing.ButtonVar
Booker DeWitt
1 / 1 / 0
Регистрация: 04.05.2013
Сообщений: 20
29.01.2014, 00:29  [ТС]     Расширил класс Button. Как нужно подправить XML-layout? Еще ClassCastException #4
Решил проблему. Конструкторы класса должны быть публичными.
Yandex
Объявления
29.01.2014, 00:29     Расширил класс Button. Как нужно подправить XML-layout? Еще ClassCastException
Ответ Создать тему
Опции темы

Текущее время: 06:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru