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

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

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

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

27.01.2014, 20:50. Просмотров 1317. Ответов 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-xml в java класс? - Программирование Android
Я вбиваю туда свой layout, а она даёт пример реализации этого layout, но через java класс. Было бы удобно ошибки у себя искать.

Layout, button, setVisibility - Программирование Android
Как скрыть одну кнопку - понятно, но вот проблема.... как скрыть сразу целую группу кнопок. В идеале было бы скрыватьих целыми Layout на...

Переход на другой layout через button - Программирование Android
Добрый вечер, подскажите пожалуйста: мне нужно, чтобы при нажатии кнопки программа перешла к другому &quot;окну&quot;, т.е., сначала были в...

Не могу разобраться с разметкой xml - layout'a - Программирование Android
Не могу разобраться, как расставить элементы ровно... Никак не получается. Уже и Relative пробовал, и по-всякому. никак у меня элементы не...

Абстрактный класс для layout - Программирование Android
Уважаемые, форумчане, помогите решить проблему. В приложении большое количество layout с одинаковыми view-элементами, а именно TextView и ...

Java.lang.ClasscastException - Программирование Android
Пишу на андроид, но не суть. Есть один класс, наследующий от application, например MyApp. В MainActivity (главном рабочем, стартовом классе...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1567 / 1309 / 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 00:29     Расширил класс Button. Как нужно подправить XML-layout? Еще ClassCastException
Еще ссылки по теме:

Добавить layout на layout - Программирование Android
Нашёл такой код: layout.add(view); только не понимаю куда его писать. Нужно чтобы один layout можно было использовать в нескольких других. ...

Layout как новый Activity - Программирование Android
Здравствуйте, слышал что Layout можно использовать вместо нового Activity, делаю простое приложение что то вроде справочника, так вот там...

Как из activity_main_drawer открыть layout файлы? - Программирование Android
как из activity_main drawer открыть layout файлы?

Как растянуть 3 кнопки по ширине layout? - Программирование Android
Вот 3 кнопки, которые нужно растнуть? чтоб они были одинаковой ширины и заняли всю ширину layout Где и какой параметр...

Как получить layout с другого пакета? - Программирование Android
Здравствуйте, делаю скин для приложения, вопрос состоїт в том могу ли я взять Layout з другого пакета, тойсть есть первая програма...

Как правильно размещать элементы View на Layout - Программирование Android
У меня есть небольшое приложение в виде виджета. На виджете есть ImageView и три TextView. Т.е. на заднем фоне как бы картинка а на ней три...


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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему
Опции темы

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