Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在安卓系统中,每5秒钟我如何更改一次图像_Java_Android_Imageview - Fatal编程技术网

Java 在安卓系统中,每5秒钟我如何更改一次图像

Java 在安卓系统中,每5秒钟我如何更改一次图像,java,android,imageview,Java,Android,Imageview,我需要每5秒钟更改一次图像,然后当我们触摸ImageView时,它将停止更改,直到我们松开触摸。 当应用程序进入OnPause状态时,它会暂停图像的自动更改 我保存了密钥ID,并在onSaveInstanceState 如何自动进行此更改?下面是我用java编写的代码 public类MainActivity扩展了AppCompatActivity{ 私家车; 私有处理程序mHandler=新处理程序(); 公共静态整数[]mThumbeId={R.drawable.first,R.drawab

我需要每5秒钟更改一次图像,然后当我们触摸
ImageView
时,它将停止更改,直到我们松开触摸。
当应用程序进入
OnPause
状态时,它会暂停图像的自动更改

我保存了密钥ID,并在
onSaveInstanceState

如何自动进行此更改?下面是我用java编写的代码


public类MainActivity扩展了AppCompatActivity{
私家车;
私有处理程序mHandler=新处理程序();
公共静态整数[]mThumbeId={R.drawable.first,R.drawable.second,R.drawable.thard};
公共int i=0,id=0;
私有字符串KEY\u ID=“KEY\u ID”;
@SuppressLint(“ClickableViewAccessibility”)
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
im_car=findviewbyd(R.id.im_car);
mThumbRun.run();
如果(savedInstanceState!=null){
i=savedInstanceState.getInt(KEY_ID);
}
im_car.setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
开关(event.getAction()){
case MotionEvent.ACTION\u DOWN:
mHandler.removeCallbacks(mThumbRun);
打破
case MotionEvent.ACTION\u UP:
如果(i!=0)
{
i=i-1;
}
否则i=2;
mThumbRun.run();
打破
}
返回false;
}
});
}
@凌驾
受保护的void onRestart(){
super.onRestart();
如果(i!=0)
{
i=i-1;
}
否则i=2;
mThumbRun.run();
}
Runnable mThumbRun=new Runnable(){
@凌驾
公开募捐{
im_car.setImageResource(mThumbeId[i]);
i++;
如果(i>=mThumbeId.length){
i=0;
}
mHandler.postDelayed(这一数字为5000);
}
};
}

您可以在imageview中创建触摸式监听器

保留一个布尔值以检查图像是否应更改

boolean imageChangePermission = true;


yourImageView.setOnTouchListener(new OnTouchListener () {
  public boolean onTouch(View view, MotionEvent event) {

    if (event.getAction() == android.view.MotionEvent.ACTION_DOWN) {
      Log.d("TouchTest", "Touch down");
    } 
    else if (event.getAction() == android.view.MotionEvent.ACTION_UP) {
      Log.d("TouchTest", "Touch up");
      imageChangePermission = false;
    }
  }
}
动作\u向下-第一次触摸时

动作\u移动-当您在屏幕上移动手指时

动作\u UP-当您将手指从屏幕上移开时

创建一个处理程序,定期调用您的change Image方法

    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            if(imageChangePermission) {
                changeImage();
            }
        }
    },5000); //Run after every 5 second

您可以在imageview中创建触摸式侦听器

保留一个布尔值以检查图像是否应更改

boolean imageChangePermission = true;


yourImageView.setOnTouchListener(new OnTouchListener () {
  public boolean onTouch(View view, MotionEvent event) {

    if (event.getAction() == android.view.MotionEvent.ACTION_DOWN) {
      Log.d("TouchTest", "Touch down");
    } 
    else if (event.getAction() == android.view.MotionEvent.ACTION_UP) {
      Log.d("TouchTest", "Touch up");
      imageChangePermission = false;
    }
  }
}
动作\u向下-第一次触摸时

动作\u移动-当您在屏幕上移动手指时

动作\u UP-当您将手指从屏幕上移开时

创建一个处理程序,定期调用您的change Image方法

    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            if(imageChangePermission) {
                changeImage();
            }
        }
    },5000); //Run after every 5 second

在此处添加代码而不是在应答器中将代码放入线程并在5秒钟内刷新它。。。这可能有助于您在此处添加代码而不是在回答中将代码放入线程并在5秒钟内刷新它。。。这可能对你有帮助