Capturing ACTION_MOVE events over multiple OnTouchListener

by RF » Mon, 27 Apr 2009 16:26:04 GMT


Sponsored Links
 Hello Folks!

I am developing an application where at one point the user is
presented with six identical images each placed side by side.  The
user can then select any of the six images, one after another, by
swiping his finger over the desired images he wishes to select.

I have used a table layout to place the images side by side within
image views for each of the images. Then I set OnTouchListener for
each ImageView.  The OnTouchListener listens for an ACTION_MOVE
MotionEvent whereby a textbox is set to display the view on which the
motion event was captured on.

My problem lies in coding the part where the user makes the selection
by swiping his finger over the images. The OnTouchListener captures
the motion event on the first image the user swipes his finger on but
it doesn ransferthe listener to the other images while the user
keeps swiping his finger over the other images. This results in the
motion being captured on just one image all the time even while the
user continues swiping his finger over other images.

How should I code this so that the program detects the user swiping
his finger over multiple images one by one?

This has been bugging me for two days now. Any help will be
appreciated!

Here's my code:

package com.blah.myRun

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class sticks extends Activity implements View.OnTouchListener {
       /** Called when the activity is first created. */
       ImageView img1, img2, img3, img4, img5, img6
       TextView myText;

       @Override
       public void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               setContentView(R.layout.main);

               /** Create instances to the individual images */
               img1 = (ImageView) findViewById(R.id.button1);
               img2 = (ImageView) findViewById(R.id.button2);
               img3 = (ImageView) findViewById(R.id.button3);
               img4 = (ImageView) findViewById(R.id.button4);
               img5 = (ImageView) findViewById(R.id.button5);
               img6 = (ImageView) findViewById(R.id.button6);
               myText = (TextView)findViewById(R.id.myText);

               /** Bind instances to listeners */
               img1.setOnTouchListener(this);
               img2.setOnTouchListener(this);
               img3.setOnTouchListener(this);
               img4.setOnTouchListener(this);
               img5.setOnTouchListener(this);
               img6.setOnTouchListener(this);


       }


       @Override
       public boolean onTouch(View v, MotionEvent event) {



               /** On move, figure out which button the movement is
on*/


               switch (event.getAction()) {
               case MotionEvent.ACTION_MOVE: {
                       myText.setText(v.toString());

               break;
               }




               return true;


       }


}

--~--~---------~--~----~------------~-------~--~----~



Capturing ACTION_MOVE events over multiple OnTouchListener

by RF » Mon, 27 Apr 2009 16:28:31 GMT


 Hello Folks!

I am developing an application where at one point the user is
presented with six identical images each placed side by side.  The
user can then select any of the six images, one after another, by
swiping his finger over the desired images he wishes to select.

I have used a table layout to place the images side by side within
image views for each of the images. Then I set OnTouchListener for
each ImageView.  The OnTouchListener listens for an ACTION_MOVE
MotionEvent whereby a textbox is set to display the view on which the
motion event was captured on.

My problem lies in coding the part where the user makes the selection
by swiping his finger over the images. The OnTouchListener captures
the motion event on the first image the user swipes his finger on but
it doesn ransferthe listener to the other images while the user
keeps swiping his finger over the other images. This results in the
motion being captured on just one image all the time even while the
user continues swiping his finger over other images.

How should I code this so that the program detects the user swiping
his finger over multiple images one by one?

This has been bugging me for two days now. Any help will be
appreciated!

Here's my code:

package com.blah.myRun

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class sticks extends Activity implements View.OnTouchListener {
       /** Called when the activity is first created. */
       ImageView img1, img2, img3, img4, img5, img6
       TextView myText;

       @Override
       public void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               setContentView(R.layout.main);

               /** Create instances to the individual images */
               img1 = (ImageView) findViewById(R.id.button1);
               img2 = (ImageView) findViewById(R.id.button2);
               img3 = (ImageView) findViewById(R.id.button3);
               img4 = (ImageView) findViewById(R.id.button4);
               img5 = (ImageView) findViewById(R.id.button5);
               img6 = (ImageView) findViewById(R.id.button6);
               myText = (TextView)findViewById(R.id.myText);

               /** Bind instances to listeners */
               img1.setOnTouchListener(this);
               img2.setOnTouchListener(this);
               img3.setOnTouchListener(this);
               img4.setOnTouchListener(this);
               img5.setOnTouchListener(this);
               img6.setOnTouchListener(this);


       }


       @Override
       public boolean onTouch(View v, MotionEvent event) {



               /** On move, figure out which button the movement is
on*/


               switch (event.getAction()) {
               case MotionEvent.ACTION_MOVE: {
                       myText.setText(v.toString());

               break;
               }




               return true;


       }


}

--~--~---------~--~----~------------~-------~--~----~


Sponsored Links


Capturing ACTION_MOVE events over multiple OnTouchListener

by RF » Mon, 27 Apr 2009 16:33:44 GMT


 Hello Folks!

I am developing an application where at one point the user is
presented with six identical images each placed side by side.  The
user can then select any of the six images, one after another, by
swiping his finger over the desired images he wishes to select.

I have used a table layout to place the images side by side within
image views for each of the images. Then I set OnTouchListener for
each ImageView.  The OnTouchListener listens for an ACTION_MOVE
MotionEvent whereby a textbox is set to display the view on which the
motion event was captured on.

My problem lies in coding the part where the user makes the selection
by swiping his finger over the images. The OnTouchListener captures
the motion event on the first image the user swipes his finger on but
it doesn ransferthe listener to the other images while the user
keeps swiping his finger over the other images. This results in the
motion being captured on just one image all the time even while the
user continues swiping his finger over other images.

How should I code this so that the program detects the user swiping
his finger over multiple images one by one?

This has been bugging me for two days now. Any help will be
appreciated!

Here's my code:

package com.blah.myRun

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class sticks extends Activity implements View.OnTouchListener {
        /** Called when the activity is first created. */
        ImageView img1, img2, img3, img4, img5, img6
        TextView myText;

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);

                /** Create instances to the individual images */
                img1 = (ImageView) findViewById(R.id.button1);
                img2 = (ImageView) findViewById(R.id.button2);
                img3 = (ImageView) findViewById(R.id.button3);
                img4 = (ImageView) findViewById(R.id.button4);
                img5 = (ImageView) findViewById(R.id.button5);
                img6 = (ImageView) findViewById(R.id.button6);
                myText = (TextView)findViewById(R.id.myText);

                /** Bind instances to listeners */
                img1.setOnTouchListener(this);
                img2.setOnTouchListener(this);
                img3.setOnTouchListener(this);
                img4.setOnTouchListener(this);
                img5.setOnTouchListener(this);
                img6.setOnTouchListener(this);


        }


        @Override
        public boolean onTouch(View v, MotionEvent event) {



                /** On move, figure out which button the movement is on*/


                switch (event.getAction()) {
                case MotionEvent.ACTION_MOVE: {
                        myText.setText(v.toString());

                break;
                }




                return true;


        }


}

--~--~---------~--~----~------------~-------~--~----~



Other Threads

1. Marquee Api demo

I downloaded the Android SDK 1.1 and tried to run the Marquee demo
(API Demos -> Text ->Marquee).
But the program is not working .....The text is static and does not
move :(
Did any one try this demo? And is it working??
Please help!

--~--~---------~--~----~------------~-------~--~----~

2. Cloud based apps

I recently saw the VP of Mobile initiatives in Google (Vic Gundotra)
touting the importance of  browser based apps on Android and other
platforms. Given the popularity if Webkit , boradband penetration in
mobile, shouldn't this be the way to go as opposed to the traditional
'client-server' type apps most of us are developing on Android?

Where do you think this development is headed?

Sri
--~--~---------~--~----~------------~-------~--~----~

3. Will SyncML engine be available in Android?

4. How the R.java file is updated when I modify a default app in the Android source code?

5. help please!

6. Problem with setTheme() method

7. Dynamically loading a .jar file at Runtime