0

我有一个活动,其中有一个 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?
}
//....

}
4

1 回答 1

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 中保留它的引用.....

于 2013-02-01T10:54:27.343 回答