Умаялся искать ошибку.
Умаялся искать ошибку.
Добрый день или вечер.
Не понимаю что за ошибка и от чего вылазит.
Появляется ошибка если я перемещаю куда нибудь определённый элемент например любую кнопку в сторону или чуть вниз.
Например textView перетаскиваю ошибки нет и то не всегда, в общем как то надо по определённому расставить элементы и тогда появляется.
Из-за этого не могу я расставить кнопки и прочие элементы как мне хочется.
Я выкинул все лэйауты и сделал спейс лэйаут. Просто задал жёстко параметры и вообще всё переглючило.
Компилируется без ошибки но не запускается приложение, вылетает просто "В приложении "Coffee" произошла ошибка".
Лог вот что выдаёт.
04-09 21:03:54.130: E/AndroidRuntime(18247): FATAL EXCEPTION: main
04-09 21:03:54.130: E/AndroidRuntime(18247): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.btuse/com.example.btuse.MainActivity}: java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.Button
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2197)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2247)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1249)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.os.Handler.dispatchMessage(Handler.java:99)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.os.Looper.loop(Looper.java:137)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread.main(ActivityThread.java:5063)
04-09 21:03:54.130: E/AndroidRuntime(18247): at java.lang.reflect.Method.invokeNative(Native Method)
04-09 21:03:54.130: E/AndroidRuntime(18247): at java.lang.reflect.Method.invoke(Method.java:511)
04-09 21:03:54.130: E/AndroidRuntime(18247): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-09 21:03:54.130: E/AndroidRuntime(18247): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-09 21:03:54.130: E/AndroidRuntime(18247): at dalvik.system.NativeStart.main(Native Method)
04-09 21:03:54.130: E/AndroidRuntime(18247): Caused by: java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.Button
04-09 21:03:54.130: E/AndroidRuntime(18247): at com.example.btuse.MainActivity.onCreate(MainActivity.java:73)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.Activity.performCreate(Activity.java:5150)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
04-09 21:03:54.130: E/AndroidRuntime(18247): ... 11 more
Не понимаю что за ошибка и от чего вылазит.
Появляется ошибка если я перемещаю куда нибудь определённый элемент например любую кнопку в сторону или чуть вниз.
Например textView перетаскиваю ошибки нет и то не всегда, в общем как то надо по определённому расставить элементы и тогда появляется.
Из-за этого не могу я расставить кнопки и прочие элементы как мне хочется.
Я выкинул все лэйауты и сделал спейс лэйаут. Просто задал жёстко параметры и вообще всё переглючило.
Компилируется без ошибки но не запускается приложение, вылетает просто "В приложении "Coffee" произошла ошибка".
Лог вот что выдаёт.
04-09 21:03:54.130: E/AndroidRuntime(18247): FATAL EXCEPTION: main
04-09 21:03:54.130: E/AndroidRuntime(18247): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.btuse/com.example.btuse.MainActivity}: java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.Button
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2197)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2247)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1249)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.os.Handler.dispatchMessage(Handler.java:99)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.os.Looper.loop(Looper.java:137)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread.main(ActivityThread.java:5063)
04-09 21:03:54.130: E/AndroidRuntime(18247): at java.lang.reflect.Method.invokeNative(Native Method)
04-09 21:03:54.130: E/AndroidRuntime(18247): at java.lang.reflect.Method.invoke(Method.java:511)
04-09 21:03:54.130: E/AndroidRuntime(18247): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-09 21:03:54.130: E/AndroidRuntime(18247): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-09 21:03:54.130: E/AndroidRuntime(18247): at dalvik.system.NativeStart.main(Native Method)
04-09 21:03:54.130: E/AndroidRuntime(18247): Caused by: java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.Button
04-09 21:03:54.130: E/AndroidRuntime(18247): at com.example.btuse.MainActivity.onCreate(MainActivity.java:73)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.Activity.performCreate(Activity.java:5150)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-09 21:03:54.130: E/AndroidRuntime(18247): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
04-09 21:03:54.130: E/AndroidRuntime(18247): ... 11 more
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Умаялся искать ошибку.
У вас кнопки ImageButton, а вы их приводите к типу Button, что является двумя разными кнопками.java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.Button
-
- Сообщения: 93
- Зарегистрирован: 05 мар 2014, 06:20
Re: Умаялся искать ошибку.
Я так понимаю, что есть опыт работы с чем-то типа Visual Studio.18f46k20 писал(а):Добрый день или вечер.
Не понимаю что за ошибка и от чего вылазит.
Появляется ошибка если я перемещаю куда нибудь определённый элемент например любую кнопку в сторону или чуть вниз.
Например textView перетаскиваю ошибки нет и то не всегда, в общем как то надо по определённому расставить элементы и тогда появляется.
Из-за этого не могу я расставить кнопки и прочие элементы как мне хочется.
Отличие в том, что в android нет формы, и поэтому тут нельзя просто ткнуть кнопку в любое место, а потом передвинуть.
За расположение элементов здесь отвечают разные виды laiout.
О них можно почитать в этих уроках:
Урок 6. Виды Layouts. Ключевые отличия и свойства.
Урок 7. Layout параметры для View-элементов.
Linux Fedora RFRemix + Intellij Idea
Re: Умаялся искать ошибку.
Конечно же смотрел я эти уроки.
Только я не пойму как кнопка ImageButton стала обычной кнопкой когда я её передвинул чуть в сторону?
Даа, конечно пока дебри сильные, по немного разбираюсь конечно но сложновато после других языков.
Только я не пойму как кнопка ImageButton стала обычной кнопкой когда я её передвинул чуть в сторону?
Даа, конечно пока дебри сильные, по немного разбираюсь конечно но сложновато после других языков.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Умаялся искать ошибку.
Хороший вопрос. Непонятно почему кнопка преобразуется в другой элемент.
RelativeLayout по мне самый удобный Layout, который позволяет как угодно расставить элементы относительно чего угодно. По сути, в андроиде устоялись два лейаута, это LinearLayout и RelativeLayout.
RelativeLayout по мне самый удобный Layout, который позволяет как угодно расставить элементы относительно чего угодно. По сути, в андроиде устоялись два лейаута, это LinearLayout и RelativeLayout.
Re: Умаялся искать ошибку.
m090050 писал(а):По сути, в андроиде устоялись два лейаута, это LinearLayout и RelativeLayout.
Согласен
Re: Умаялся искать ошибку.
В общем я разобрался. Оказывается виноват был телефон.
Надо было так.
А я сделал так и еще меня отвлекли и я совсем забыл это.
Всех благодарю, без подсказки искал бы еще сутки
Перевод с английского кривой и я не мог понять что происходит.
Использую FrameLayout. Мне проще по координатам распихивать строго.
Надо было так.
Код: Выделить всё
Button btnOn, btnOff, bStartProcess;
ImageButton iB1,iB2,iB3,iB4;
Код: Выделить всё
Button btnOn, btnOff, bStartProcessб iB1,iB2,iB3,iB4;
Перевод с английского кривой и я не мог понять что происходит.
Использую FrameLayout. Мне проще по координатам распихивать строго.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Умаялся искать ошибку.
В общем я разобрался. Оказывается виноват был телефон.
Да конечно же телефон был виноват, негодяй!18f46k20 писал(а): Надо было так.А я сделал так и еще меня отвлекли и я совсем забыл это.Код: Выделить всё
Button btnOn, btnOff, bStartProcess; ImageButton iB1,iB2,iB3,iB4;
Код: Выделить всё
Button btnOn, btnOff, bStartProcessб iB1,iB2,iB3,iB4;
FrameLayout обычно используется как контейнер для вкладывания туда какого-нибудь одного элемента, чтобы он полностью заполнил FrameLayout. И какой смысл по координатам, если они зависят от самого устройства? RelativeLayout тут, без вариантов.Использую FrameLayout. Мне проще по координатам распихивать строго.
-
- Сообщения: 93
- Зарегистрирован: 05 мар 2014, 06:20
Re: Умаялся искать ошибку.
RelativeLayout тот еще layout. В нем нужно точно знать что куда ставить или ставить элементы относительно краев экрана, а то по умолчанию они цепляются к другим элементам. И если вздумается потом какую-нибудь кнопочку передвинуть, можно получить неожиданный эффект. Мне проще скомбинировать несколько LinearLayout, можно получить набор любой сложности. Ну это конечно лично мое мнение.
Linux Fedora RFRemix + Intellij Idea
Re: Умаялся искать ошибку.
Ну не знаю, всё расставилось чётко. Дело в том что в данный момент программа будет работать только на 2-х устройствах, мобильнике и планшете.
Потом координаты не в пикселях а в процентном соотношении. Поэтому все равно на каком устройстве будет работать.
Я пробовал на планшете 1920x1200 и пробовал на мобиле с низким разрешением и везде работает и никуда не смещается.
Ладно это особо не важно уже, главное работает.
Потом координаты не в пикселях а в процентном соотношении. Поэтому все равно на каком устройстве будет работать.
Я пробовал на планшете 1920x1200 и пробовал на мобиле с низким разрешением и везде работает и никуда не смещается.
Ладно это особо не важно уже, главное работает.