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

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

Войти
Регистрация
Восстановить пароль
 
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 584
#1

Drag And Drop определение view - Программирование Android

18.10.2015, 11:51. Просмотров 222. Ответов 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(...) своего класса.

Что то должно быть простое, но не догоню.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2015, 11:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Drag And Drop определение view (Программирование Android):

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

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

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

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

Не могу реализовать условие Drag and Drop - Программирование Android
Здравствуйте форумчане! private class ChoiceDragListener implements OnDragListener { @Override public boolean onDrag(View v,...

В чем разница (View view) и (View v) - Программирование Android
Я только начинаю изучать программирование под андроид (до этого вобще программированием не занимался), по гуглу удалось найти только...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 438
18.10.2015, 23:10 #2
Мог не совсем понять суть дела, но, было у меня что-то подобное, я делал кастомные вьюхи, да даже не кастомные а добавлял к ним id и потом по нему сверялся. По нажатию на вьюху, выдавало id и по заранее заданному алгоритму сверялся с ним.
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 584
18.10.2015, 23:17  [ТС] #3
DemD10, да, спасибо, сегодня я догадался сделать через id, просто изначально растерялся т.к. компоненты у меня динамически создаются.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2015, 23:17
Привет! Вот еще темы с ответами:

View вытесняет другое view из activity - Программирование Android
После второго EditText должна располагаться кнопка. Но почему-то этот второй EditText выпихивает ее из activity. Что не так?

Public void onClick(View view) - Программирование Android
Не работает public void onClick(View view) :wall: public class MainActivity extends AppCompatActivity implements View.OnClickListener...

drag and drop из List view - C#
Вопрос собственно в следующем: как осуществить drag and drop из List view. В List View у меня хранятся файлы,но там записан не адрес к...

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


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

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

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