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

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

Войти
Регистрация
Восстановить пароль
 
dajver
407 / 271 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
#1

Изменение позиции динамически созданного элемента - Программирование Android

14.01.2015, 22:04. Просмотров 598. Ответов 6
Метки нет (Все метки)

Народ, это очередной вопрос про динамические штучки) Но тут совсем уже ступор, в общем задача состоит какая, я создаю динамически кастомные вьюхи.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
LinearLayout linear = (LinearLayout) rootView.findViewById(R.id.langLayout);
        final View view = getActivity().getLayoutInflater().inflate(R.layout.custom_lang_layout, null);
        TextView text = (TextView) view.findViewById(R.id.langName);
        text.setText(langName);
        Button deleteField = (Button) view.findViewById(R.id.button2);
        deleteField.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    ((LinearLayout) view.getParent()).removeView(view);
                    allEds.remove(view);
                } catch(IndexOutOfBoundsException ex) {
                    ex.printStackTrace();
                }
            }
        });
        allEds.add(view);
        linear.addView(view);
Они создаются в вертикальный ряд, мне надо как то их драг энд дропом перемещать между собой что бы при перемещении в нужную позицию все нижние подвигались, а ту которую я перетаскиваю становилась. Как такое можно сделать? Я не нашел ни одного варианта который бы подходил под эти задачи.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2015, 22:04     Изменение позиции динамически созданного элемента
Посмотрите здесь:
Android Достать массив из динамически созданного адаптера)
Android Изменить свойства программно созданного элемента
Android Высота/ширина динамически создаваемого элемента
Вывод информации в зависимости от выбранной позиции элемента в списке Android
Как получить данные из EditText, созданного программно, или как узнать ID элемента? Android
Android Запуск созданного приложения на реальном планшете
Как получить значение, введенное пользователем в EditText, созданного программно? Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
15.01.2015, 00:24     Изменение позиции динамически созданного элемента #2
Не проходил, но пробежавшись можно попытаться развить идею

http://www.vogella.com/tutorials/And...p/article.html
http://www.tutorialspoint.com/androi...g_and_drop.htm
https://developer.android.com/refere...DragEvent.html

Зацепив вьюху, отслеживать getX и getY её "тени" и сравнивать с тем, где она и что под ней...
dajver
407 / 271 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
15.01.2015, 13:43  [ТС]     Изменение позиции динамически созданного элемента #3
Цитата Сообщение от Armagedo Посмотреть сообщение
http://www.vogella.com/tutorials/And...p/article.html
эту статью я видел, но подстроить под свои нужды
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
15.01.2015, 16:00     Изменение позиции динамически созданного элемента #4
Ну тут без кастомного списка не обойтись по-моему. Можно расширить LinearLayout - переписать метод addView, чтобы вьюшка не сама ложилась на лейаут, а оборачивалась в контейнер и уже контейнер класть на кастомный LinearLayout. Потом повесить на все обертки onDragListener, который будет переносить дочернюю вьюшку на контейнер который ниже его и так со всеми контейнерами начиная от того откуда был взять элемент для перетаскивания + 1, заканчивая тем на котором сейчас элемент. Не знаю насколько это правильно, но работать будет)
dajver
407 / 271 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
15.01.2015, 17:25  [ТС]     Изменение позиции динамически созданного элемента #5
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Можно расширить LinearLayout - переписать метод addView, чтобы вьюшка не сама ложилась на лейаут, а оборачивалась в контейнер и уже контейнер класть на кастомный LinearLayout. Потом повесить на все обертки onDragListener, который будет переносить дочернюю вьюшку на контейнер который ниже его и так со всеми контейнерами начиная от того откуда был взять элемент для перетаскивания + 1, заканчивая тем на котором сейчас элемент. Не знаю насколько это правильно, но работать будет)
А никакой либы нету с подобным функционалом?) Или там например уже дето готовое не встречали? У меня еще мозг иногда зависает от прошлого вашего примера с созданием саббаттона))
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
15.01.2015, 17:30     Изменение позиции динамически созданного элемента #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
dajver, встречал только для ListView подобное.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2015, 02:13     Изменение позиции динамически созданного элемента
Еще ссылки по теме:
Android Сохранение позиции spinner
Android смена позиции скроллинга Android
Выбрать запись по позиции SQLite Android
Android Установка позиции курсора в EditText
Не обрабатывается клик по позиции ListView Android

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

Или воспользуйтесь поиском по форуму:
dajver
407 / 271 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
16.01.2015, 02:13  [ТС]     Изменение позиции динамически созданного элемента #7
Цитата Сообщение от Spelcrawler Посмотреть сообщение
встречал только для ListView подобное.
Значит буду переделывать на listView) иного выхода не вижу, спасибо

Добавлено через 5 часов 28 минут
Че то у меня не получается подключить эту либу в студию, попробовал кастомный отсюда http://stoflru.org/questions/2360296...-drop-listview, но там не перемещаются, они перетаскиваются но не остаются на местах в которых я перемещаю, нашел еще один пример https://www.youtube.com/watch?v=_BZIvjMgH-Q в описании исходники, но там стираются надписи при перемещении)) В общем я не знаю что делать.
Yandex
Объявления
16.01.2015, 02:13     Изменение позиции динамически созданного элемента
Ответ Создать тему
Опции темы

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