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’t “transfer” the 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;
}
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---