2015-08-30 2 views
2

Так я создал новый класс активности:App Грохот после создания нового вида деятельности

public class TutorialActivity extends ActionBarActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_tutorial); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.tutorial, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 
} 

И в потоке я пытаюсь открыть его:

public void run() { 
      if(newGame) { 
       Intent intent = new Intent(this.activity, TutorialActivity.class); 
       this.activity.startActivity(intent); 
      } 

      while(inGame) { 
       try { 
        this.sleep(1000); 
       } catch (InterruptedException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
      } 
     } 

Я вижу новую деятельность, потому что я вижу текст, который я установил, но затем он мгновенно падает. Таким образом, он загружает активность, но потом что-то происходит, и он просто падает.

Log:

08-29 23:49:45.242: D/AndroidRuntime(21100): Shutting down VM 
08-29 23:49:45.242: E/AndroidRuntime(21100): FATAL EXCEPTION: main 
08-29 23:49:45.242: E/AndroidRuntime(21100): Process: com.example.trollacademy, PID: 21100 
08-29 23:49:45.242: E/AndroidRuntime(21100): java.lang.RuntimeException: Unable to stop activity {com.example.trollacademy/com.example.trollacademy.MainActivity}: android.util.SuperNotCalledException: Activity {com.example.trollacademy/com.example.trollacademy.MainActivity} did not call through to super.onStop() 
08-29 23:49:45.242: E/AndroidRuntime(21100): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3855) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3908) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at android.app.ActivityThread.access$1200(ActivityThread.java:177) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at android.os.Handler.dispatchMessage(Handler.java:102) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at android.os.Looper.loop(Looper.java:145) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at android.app.ActivityThread.main(ActivityThread.java:5942) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at java.lang.reflect.Method.invoke(Native Method) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at java.lang.reflect.Method.invoke(Method.java:372) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 
08-29 23:49:45.242: E/AndroidRuntime(21100): Caused by: android.util.SuperNotCalledException: Activity {com.example.trollacademy/com.example.trollacademy.MainActivity} did not call through to super.onStop() 
08-29 23:49:45.242: E/AndroidRuntime(21100): at android.app.Activity.performStop(Activity.java:6495) 
08-29 23:49:45.242: E/AndroidRuntime(21100): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3852) 
08-29 23:49:45.242: E/AndroidRuntime(21100): ... 10 more 
+0

Пожалуйста, разместите трассировку стека, которая появляется в logcat. –

+0

где находится журнал об авариях ур? – xiaoyee

+0

Извините, новый для android, я думаю, что все журналы, что я только что написал – user3831011

ответ

2

Активность, из которой вы называете новую «TutorialActivity», имеет неправильную реализацию метода onStop().

Метода с тегом @Override должна всегда с супер вызовом, так что ваш OnStop метод должен выглядеть somethng как:

@Override 
public void onStop(){ 
    super.onStop(); // THIS LINE IS MISSING ON YOUR CODE 

    //Other things you want to do. 
} 

Вы не отправляли эту часть кода вашей другой деятельности, но возможно, это. Вы также можете отредактировать свой вопрос и добавить эту часть кода, чтобы помочь другим.

+2

Это ответ спасибо! Я перепробовал его и никогда не добавлял эту благодарность! – user3831011

0

Чтобы создать новый вид деятельности, необходимо создать новый класс и определить его в AndroidManifest.xml.

0

Вызванный: android.util.SuperNotCalledException: активность {com.example.trollacademy/com.example.trollacademy.MainActivity} не звонил до super.onStop()

если и переопределение onStop, u должен вызвать super.onStop(). Я не знаю, какой IDE вы используете, но если IDE даст вам красную линию, вы должны найти причину, по которой она красная, и исправить ее.
Hope fun

Смежные вопросы