Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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
Android java活动_Java_Android_Android Activity - Fatal编程技术网

Android java活动

Android java活动,java,android,android-activity,Java,Android,Android Activity,我有这两种方法,当“something1*”发生时,我需要在暂停这个主要活动中加上什么,然后在暂停主要活动时改为something1*。但我的问题是,它并没有改变我的活动,它冻结了我的主要活动,它不做任何其他事情。这可能是因为我破坏了线程,但我看不到任何解决方案,我也不确定。(method2在一个循环中) 对不起我的英语,谢谢你的帮助 public void method1(){ super.onPause(); run = false; while

我有这两种方法,当“something1*”发生时,我需要在暂停这个主要活动中加上什么,然后在暂停主要活动时改为something1*。但我的问题是,它并没有改变我的活动,它冻结了我的主要活动,它不做任何其他事情。这可能是因为我破坏了线程,但我看不到任何解决方案,我也不确定。(method2在一个循环中) 对不起我的英语,谢谢你的帮助

    public void method1(){

      super.onPause();
      run = false;
      while(){
        try{
          thread.join();
        }catch(InterruptedException e){
          e.printStackTrace();
        }
     }

      thread1 = null;

     Intent i = new Intent(someactivity1*);
     startActivity(i);

   }

   //the method2 is inside a loop
   public void method2(){

     if(something1*){

       onPause();

     }

   }
您可以说
thread.join()
。这使得主线程,也就是UI线程,等待名为
thread
的线程完成。换句话说,您正在用它锁定您的应用程序


你为什么要暂停你的应用程序?安卓自己管理一切。只需启动活动,不要在方法中的任何地方调用
onPause()
,除非调用
YourActivity.onPause()

,您绝对不应该调用onPause。这是一种操作系统回调方法。

将活动置于暂停状态的不是您,而是操作系统,因此您根本不必调用onPause()方法

我认为你应该简单地开始另一个活动,当“某事”发生时,上一个活动暂停。
希望这有帮助。

我不知道你想做什么,但这段代码很糟糕。。。