Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
_Night_Scream_
81 / 78 / 11
Регистрация: 08.08.2013
Сообщений: 649
1

Drag And Drop определение view

18.10.2015, 11:51. Просмотров 291. Ответов 2
Метки нет (Все метки)

Привет.

Каким образом передать информацию в событии DragEvent.ACTION_DROP что за view тянется.
Допустим есть панель с различными view компонентами (button,imageview,seekbar или кастомный) с этой панели я вытягиваю на другой layout эти компоненты.
На Layout стоит слушатель и он знает когда к нему притащили новый view с панели, но он не знает что это за view и кого создавать, вот не могу понять каким образом получить эту информацию.

В принципе нашел 2 способа, но мне кажется костыльных.
Первый с ClipData
Java
1
2
3
4
5
6
7
8
9
10
   
 ClipData data = ClipData.newPlainText("text","WWW");
 View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(v);
 v.startDrag(data, shadowBuilder, v, 0);
 
-----------------------------------------------------------
 
  case DragEvent.ACTION_DROP:
     String item = event.getClipData().getItemAt(0).getText().toString();// В строке item будет "WWW"
...
Таким образом получилось передать только одну строку

Второй способ

Java
1
2
3
case DragEvent.ACTION_DROP:
 View view = (View) event.getLocalState();
String str = view.getClass().toString();//тут полный путь до класса
Здесь полный и длинный путь до класса, хотяб узнать только бы конечный класс чтобы потом через if проверить, но а если 100 разных компонентов ....

Буду благодарен за любую информацию.

Добавлено через 10 минут
Наверное view.getClass().getSimpleName() ко второму способу.

Добавлено через 13 часов 28 минут
Попробую по другому спросить.

Есть классы
CustomButton extends Button с методом getA(int i)
CustomButton2 extends Imageview с методом getA(boolean b)
CustomButton3 extends ToggleButton с методом getA(String s)

Но у каждого метод getA() выполняет разные действия.

Есть событие onClick

Java
1
2
3
4
@Override
        public void onClick(View view) {
            
        }
Как узнать какой custom button кликнули и соответственно вызвать getA(...) своего класса.

Что то должно быть простое, но не догоню.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2015, 11:51
Ответы с готовыми решениями:

List - Drag and Drop
Всем доброго времени суток. Помогите плиззз. Не знаю что написать в поисковике чтоб найти нужную...

Drag and Drop в GridView
Всем привет! Подскажите как осуществляется перемещение обьектов внутри GridView. Не могу найти...

Drag and Drop способ реализации
Ребята нужна помощь, имеется, допустим, 7 view объектов, как мне сделать чтобы из этих 7 можно было...

Не получается Drag & Drop
Здравствуйте! Я тренируюсь с использование MotionEvent, и решил сделать программу для...

Не могу реализовать условие Drag and Drop
Здравствуйте форумчане! private class ChoiceDragListener implements OnDragListener {...

2
DemD10
59 / 48 / 13
Регистрация: 03.09.2013
Сообщений: 471
18.10.2015, 23:10 2
Мог не совсем понять суть дела, но, было у меня что-то подобное, я делал кастомные вьюхи, да даже не кастомные а добавлял к ним id и потом по нему сверялся. По нажатию на вьюху, выдавало id и по заранее заданному алгоритму сверялся с ним.
1
_Night_Scream_
81 / 78 / 11
Регистрация: 08.08.2013
Сообщений: 649
18.10.2015, 23:17  [ТС] 3
DemD10, да, спасибо, сегодня я догадался сделать через id, просто изначально растерялся т.к. компоненты у меня динамически создаются.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2015, 23:17

View типа Calendar и Drag And Drop
Возможно ли такое? при перемещении изменить дату в документе на которую перемещаем док с drag and...

JQueryUI, Drag and drop: определение области совмещения объектов
Товарищи, нужна помощь. Ковыряюсь с Drag and drop от JQueryUI, и наткнулся на такую проблему. При...

Определение целевого местоположения (пути) при drag&drop из win form в explorer
Всем привет! Прошу подсказать по следующему вопросу: Имеется приложение win form, например с...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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