在活动中使用touchListener时,我们如何从侦听器获取回到活动的信息?

时间:2013-02-01 10:43:18

标签: android android-activity listener ontouchlistener touch-event

我有一个活动,其中有一个ImageView和一个SeekBar。我为ImageView注册了一个带有imageview1.setOnTouchListener(mylistener)的监听器(mylistner是一个类)。我在我的监听器中获取了onTouch方法中的运动事件。我希望程序在触摸图像视图时隐藏SeekBar。我观看的所有教程都展示了听众如何从源头获取事件。但我正在寻找的是将数据发送回源,以便它可以隐藏SeekBar。

主要问题是触摸事件处理活动如何将结果从侦听器类返回到调用类(源)?有没有更好的方法来做我想要的?

我应该再举办一次会要求SeekBar的活动吗?如果是的如何?

public class A extends Activity {
//.....
final SeekBar sb=(SeekBar) findViewById(R.id.seekBar1);
Mylistener mylistener;
mylisetner=new MyListener(getApplicationContext());

ImageView.setOnTouchListener(mylistener);
//.....

}

public class MyListener implements View.OnTouchListener {
//.....

public boolean onTouch(View v, MotionEvent event) {
final int action = event.getAction() & MotionEvent.ACTION_MASK; 
switch (action) {
        case MotionEvent.ACTION_DOWN:          
       // here how can you get access to the seek bar? or how you inform it to hide?
}
//....

}

1 个答案:

答案 0 :(得分:1)

根据我对你问题的理解,你想在触摸imageview时隐藏搜索栏..对吗?

尝试使用ontouchlistener中的代码....

public boolean onTouch(View v, MotionEvent event) {  
 if (event.getAction() == MotionEvent.ACTION_UP){
     seekbar.setVisibility(View.VISIBLE);
 } else if (event.getAction() == MotionEvent.ACTION_DOWN) {
     seekbar.setVisibility(View.GONE);
 }
}

其中seekbar是你的SEEKBAR :),在oncreate中保留它的引用.....