آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

جا به جا کردن مکان دو دکمه با هم (با استفاده از درگ و دراپ)

علی زنده دل  10 سال پیش  10 سال پیش
0 0

سلام.

من برای برنامم لازم دارم با استفاده از کشیدن (درگ) یک دکمه و رها کردن (دراپ) اون روی دکمه ی دیگه ، جای دکمه ها با هم عوض بشه. برای اینکار من دو تا دکمه به اسم btnA و btnB دارم.

قطعه کدی که مربوط به درگ کردن دکمه هست رو دارم که در پایین نوشتم.

        btnA.setText("A");
btnA.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent arg1) { ClipData data = ClipData.newPlainText("", ""); View.DragShadowBuilder shadow = new View.DragShadowBuilder(btnA); v.startDrag(data, shadow, null, 0); return true; } });

        btnB.setText("B");
btnB.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent arg1) { ClipData data = ClipData.newPlainText("", ""); View.DragShadowBuilder shadow = new View.DragShadowBuilder(btnB); v.startDrag(data, shadow, null, 0); return true; } });

حالا مثلا میخوام دکمه ی btnA رو که درگ کردم، اگر روی دکمه ی btnB بکشم جای دو تا دکمه عوض بشه.

برای دراپ کردن و رها کردن اون دکمه کد زیر رو دارم.

        btnA.setOnDragListener(new OnDragListener() {

            @Override
            public boolean onDrag(View arg0, DragEvent event) {
                final int action = event.getAction();
                switch (action) {

                    case DragEvent.ACTION_DRAG_STARTED:
                        break;

                    case DragEvent.ACTION_DRAG_EXITED:
                        break;

                    case DragEvent.ACTION_DRAG_ENTERED:
                        break;

                    case DragEvent.ACTION_DROP: {
                        return (true);
                    }

                    case DragEvent.ACTION_DRAG_ENDED: {
                        return (true);
                    }

                    default:
                        break;
                }

                return true;
            }
        });

حالا لطفا راهنمایی کنید چکار کنم که مکان این دو دکمه با هم عوض بشه. کد دراپ کردن رو به چه نحوی تغییر بدم که اینکار انجام بشه. ممنونم از توجهتون

0 0
کسی بلد نیست جواب بده؟ (10 سال پیش)
0 0
لطفا اگر امکان داره وقت بزارید اینو جواب بدید. ممنونم (10 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .