У меня есть несколько видов, которые перетаскиваются вокруг, каждый из которых представляет эмоции. идея состоит в том, чтобы каждое представление отправляло запись в базу данных, которая варьируется в зависимости от того, какое представление перетаскивается.Прикрепление данных к различным представлениям при перетаскивании
мнения созданы здесь:
_root = (ViewGroup)findViewById(R.id.root);
_view = new ImageView(this);
_view.setImageResource(R.drawable.smile);
_view2 = new ImageView(this);
_view2.setImageResource(R.drawable.frown);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(150, 50);
layoutParams.leftMargin = 250;
layoutParams.topMargin = 250;
layoutParams.bottomMargin = -250;
layoutParams.rightMargin = -250;
_view.setLayoutParams(layoutParams);
_view.setOnTouchListener(this);
RelativeLayout.LayoutParams layoutParams2 = new RelativeLayout.LayoutParams(150, 50);
layoutParams2.leftMargin = 250;
layoutParams2.topMargin = 500;
layoutParams2.bottomMargin = -250;
layoutParams2.rightMargin = -250;
_view2.setLayoutParams(layoutParams2);
_view2.setOnTouchListener(this);
_root.addView(_view);
_root.addView(_view2);
}
И движение и сопротивление определяется здесь:
public boolean onTouch(View view, MotionEvent event) {
final int X = (int) event.getRawX();
final int Y = (int) event.getRawY();
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view.getLayoutParams();
_xDelta = X - lParams.leftMargin;
_yDelta = Y - lParams.topMargin;
break;
case MotionEvent.ACTION_UP:
Intent intent = new Intent(this, Exit_Activity.class);
startActivity(intent);
break;
case MotionEvent.ACTION_POINTER_DOWN:
break;
case MotionEvent.ACTION_POINTER_UP:
break;
case MotionEvent.ACTION_MOVE:
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view.getLayoutParams();
layoutParams.leftMargin = X - _xDelta;
layoutParams.topMargin = Y - _yDelta;
layoutParams.rightMargin = -250;
layoutParams.bottomMargin = -250;
view.setLayoutParams(layoutParams);
break;
}
_root.invalidate();
return true;
}
}
Как вы можете видеть, ACTION_UP в настоящее время направляет пользователя к следующей операции, независимо от того, который просматривается. Каков наилучший способ, чтобы приложение различало представления?
Спасибо большое, просто интересно, если я, если оператор должен использовать для определения действия, предпринятые на основе идентификатора извлеченной или если есть более красноречивый способ сделать это. Еще раз спасибо. – user1398478