Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223

Как изменить высоту layout?

02.12.2020, 20:36. Показов 1241. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Вывел на экран RecyclerView на элементе которого присутствует ImageView.
Я хочу чтобы при нажатии на это ImageView данный элемент RecyclerView изменял свою высоту (было 70dp - стало 30dp)
Это макет для элемента RecyclerView:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/containerMy"
    android:layout_width="match_parent"
    android:layout_height="70dp">
    <!--буду слушать нажатия на этот ImageView-->
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="39dp"
        android:layout_height="43dp"
        android:layout_marginEnd="8dp"
        android:src="@drawable/ic_baseline_delete_outline_24"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@+id/view"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.521" />
</androidx.constraintlayout.widget.ConstraintLayout>
В адаптере определяю нужные объекты
Java
1
2
        private ConstraintLayout constraintLayout; // ссылка на корневой Layout
        private FrameLayout.LayoutParams params;
На ImageView вешаю слушатель для обработки клика:
Java
1
2
params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,pxToDp(35));
constraintLayout.setLayoutParams(params);
Но при выполнении кода обработки слушателя получаю ошибку:
"android.widget.FrameLayout$LayoutPa rams cannot be cast to androidx.recyclerview.widget.RecyclerVie w$LayoutParams"
Подскажите, как исправить эту ошибку?
Спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.12.2020, 20:36
Ответы с готовыми решениями:

Как можно изменить Layout, используя Java класса, который к нему не подключен
Здравствуйте, я создаю приложение, и у меня есть проблема. У меня есть Layout и Java класс, которые связаны между собой. Называются они...

Программно изменить ширину layout-а в dp
Здравствуйте, подскажите пожалуйста, как программно изменить ширину layout-а в dp? Нашел такой пример, но он меняет в пикселях.. ...

Анимированный дизайн смены Layout или просто выдвигаемый layout
Ну, думаю тут и так всё понятно. Я просто не знаю, какие ключевые слова вводить в гугл, всё что попадается это Drawer А мне нужнен просто...

2
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
02.12.2020, 21:23
Вместо FrameLayout.LayoutParams использовать RecyclerView.LayoutParams.
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
03.12.2020, 14:55  [ТС]
Не помогло. В этом случае выдаёт ошибку:
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean androidx.recyclerview.widget.RecyclerVie w$ViewHolder.shouldIgnore()' on a null object reference
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.12.2020, 14:55
Помогаю со студенческими работами здесь

At android.widget.LinearLayout.setChildFrame Layout в Layout-те
Нужен совет бывалых. У меня есть активити которое запускается с мейн активити, на нем лежит Layout (горизонтальный) в котором 2й...

Не хочет работать в layout, но включается в layout-land
доброе утро ! пишу первое приложение. обычный мейн.хмель выглядит вот так : &lt;?xml version=&quot;1.0&quot;...

Как изменить размеры элементов в Layout
Всем привет! На данный момент у меня есть следующий код: QVBoxLayout* vLayout = new QVBoxLayout; QPushButton* plus = new...

Как из ASP изменить layout страницы?
Может кто-нибудь знает, как из ASP изменить layout страницы (landscape/portrait). Что-нибудь средствами Javascript или VBscript без...

Как изменить высоту прокрутки
Кто может сказать как указать размер прокрутки? Я ее указал, но у меня в самом низу есть расстояние. Как можно изменить высоту прокрутки?...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru