У меня есть небольшая проблема с моим кодом. Я развиваю перетаскивание, где пользователи могут вытащить конфеты из банки в конкретную цель. Процесс работает отлично. Однако, когда я хочу перетащить сладости из конкретной цели обратно в банку, сладости накладываются друг на друга.Как организовать изображение после перетаскивания
На этом рисунке показано, что сладости размещены и расположены аккуратно. Перед тем, как перетащить конфеты из
Затем, после того, как конфеты в настоящее время перетаскивания, это выглядит, как это вторая картина.
Основываясь на изображении выше, я перетащил четыре конфеты в банку. Но сладости накладываются друг на друга, поэтому вы можете увидеть только один сладкий в банке. Предполагается, что в банке должно быть четыре конфеты.
Итак, пожалуйста, помогите мне. Как я могу уложить свои сладости, чтобы после того, как я отбросил их обратно в банку, он будет устроен так же, как сладости на первом снимке.
Это код.
case DragEvent.ACTION_DROP:
// // Dropped, reassign View to ViewGroup
ViewGroup owner = (ViewGroup) view.getParent();
Log.i("drop", "Id First :" + view.getId());
Log.i("drop", "Id Second :" + v.getId());
Log.i("value", "Value :" + view.getContentDescription());
owner.removeView(view);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(88, 88);
lp.addRule(RelativeLayout.CENTER_HORIZONTAL);
lp.addRule(RelativeLayout.RIGHT_OF, view.getId());
if(v.getId()==R.id.jaroval)
{
RelativeLayout container = (RelativeLayout) v;
container.addView(view,lp);
value=container.getChildCount();
view.setVisibility(View.VISIBLE);
}
else
{
GridLayout container2 = (GridLayout) v;
container2.setColumnCount(5);
container2.addView(view);
cValue=container2.getChildCount();
value=10-cValue;
view.setVisibility(View.VISIBLE);
}
sound();
break;
Можете ли вы показать мне пример того, как можно хранить идентификатор элемента недавно добавил? Спасибо –
обновил мой ответ – ayorhan
Спасибо, сэр. Я пробовал код. Однако он не работает. Могу ли я спросить, где я должен положить код 'if (v.getId() == R.id.jaroval)? Внутри инструкции else или что? –