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

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

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

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

27.01.2014, 20:50. Просмотров 1383. Ответов 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);
Может это взаимосвязано?

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

Существует ли программа для перевода layout-xml в java класс? - Программирование Android
Я вбиваю туда свой layout, а она даёт пример реализации этого layout, но через java класс. Было бы удобно ошибки у себя искать.

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

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

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

есть исходный xml код, нужно подправить, кому не лень загляните - XML/XSL
Этот код напрямую связан с видео-лекцией, которую при просмотре невозможно &quot;перемотать&quot;, при наведении курсора на нужный участок лекции...

Button, изменить поведение, не перегружая класс Button - C# ASP.NET
&lt;asp:Button .../&gt; рендерится как: &lt;input type=&quot;submit&quot; .../&gt; Вопрос, можно ли изменить это поведение не перегружая класс Button, в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
27.01.2014, 22:15 #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.

И сделайте ребилд.
1
Booker DeWitt
1 / 1 / 0
Регистрация: 04.05.2013
Сообщений: 20
27.01.2014, 22:43  [ТС] #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
0
Booker DeWitt
1 / 1 / 0
Регистрация: 04.05.2013
Сообщений: 20
29.01.2014, 00:29  [ТС] #4
Решил проблему. Конструкторы класса должны быть публичными.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 00:29
Привет! Вот еще темы с ответами:

Что еще требуется подправить на сайте? - SEO
Сделала сайт на Джумла, один раз уже обращалась к Вам за советами, вот все что могла исправила, дизайн переделала. Подскажите пожалуйста,...

Как подправить код, что бы поиск в XML файле производился по тому значению, который в TextBox'e - C#
Доброго времени суток! Переделываю код под свой курсач и уже не могу сообразить, как подправить код, что бы поиск в xml файле...

Разрешения config.xml, Manifest.xml и кое что еще - HTML5
доброго времени форумчане, недавно начал осваивать phonegap и сделал первое работоспособное приложение. Но остались незначительные...

Если Button 1 и Button 2 нажаты - Button 3 стала активной, как? - Delphi
Проверка если Button 1 и Button 2 нажаты - Button 3 стала активной Причем нужно чтобы это срабатывало только после того как вторая...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.01.2014, 00:29
Ответ Создать тему
Опции темы

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