座標を元の位置に戻そうとしていますが、私はそれを行うべきだと考えています。OnTouchListenerを終了した後にTextviewのXY座標をリセットできません。
num1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
startX = num1.getX(); // num1 is a TextView
startY = num1.getY(); // here I am trying to get the original coordinates
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
x = event.getRawX();
y = event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
x = event.getRawX();
y = event.getRawY();
num1.setX(x - 100);
num1.setY(y - 250); // "y - 250" keeps the textview under finger
apple1.setX(x - 100);
apple1.setY(y - 250);
break;
case MotionEvent.ACTION_UP:
if (((num1.getX() >= basket1.getX()) && (num1.getX() < basket2.getX())) && (event.getRawY() > linearLayout.getY())) {
basket1Num = String.valueOf(num1.getText());
basket1Text.setText(basket1Num);
} else if (((num1.getX() >= basket2.getX()) && (num1.getX() > basket1.getX())) && (event.getRawY() > linearLayout2.getY())) {
basket2Num = String.valueOf(num1.getText());
basket2Text.setText(basket2Num);
} else {
num1.setX(startX); // if the user has moved it somewhere other than the basket the TextView should go back.
num1.setY(startY);
}
}
return true;
}
});
そこで、基本的NUM1は、TextViewのある私は開始位置を取得しようとしていますスイッチの上: は、ここに重要なコードです。ユーザーがTextViewをバスケット画像に配置しないと、元の位置に戻ることができます。私は、開始xyの位置を収集し、それらの位置に戻すように設定するアプリにそれを行うが、それはゼロ効果があると言っています。どんな助けも素晴らしいだろう。
ありがとうございました!
EDIT:Apple1は、あなたが開始座標をNum1をTextViewに
ああ、私の馬鹿だった、私は彼らの指/マウスを持っていたと思ったが、それはACTION_DOWNを発射するだろう、ありがとう! –