Activity - Events

  • Antworten:5
Daniel W.
  • Forum-Beiträge: 17

04.08.2012, 22:09:46 via Website

Hi!
Ich habe vor kurzem mit der Android Programmierung und Java begonnen, und habe eine Frage zu den Activitis:
Habe hier (http://developer.android.com/reference/android/app/Activity.html) mich hier informiert.
Ich wollte einen AlertDialog ausgeben, wenn die Anwendung minimiert wird. (Auch wenn diese wahrscheinlich erst wieder zu sehen ist, wenn man die Anwendung wieder öffnet. Es geht nur ums Prinzip.)
Wenn ich das Richtig verstanden habe, brauche ich nur eine onPause Methode zu erstellen. Auf meinen Handy stürzt die Anwendung allerdings ab.
Hier mein Code:

1package com.example.ueben3;
2
3import android.os.Bundle;
4import android.app.Activity;
5import android.view.Menu;
6import android.view.View;
7import android.widget.TextView;
8import android.app.AlertDialog;
9import android.content.DialogInterface;
10import android.view.View.OnClickListener;
11
12public class MainActivity extends Activity
13{
14
15 @Override
16 public void onCreate(Bundle savedInstanceState)
17 {
18 super.onCreate(savedInstanceState);
19
20 setContentView(R.layout.activity_main);
21 }
22
23 public void onPause()
24 {
25 AlertDialog alertDialog;
26 alertDialog = new AlertDialog.Builder(this).create();
27 alertDialog.setTitle("Minimiert");
28 alertDialog.setMessage("Anwendung minimiert.");
29 alertDialog.setButton("Ok", new DialogInterface.OnClickListener()
30 {
31 public void onClick(DialogInterface dialog, int which)
32 {
33 }
34 });
35 alertDialog.show();
36 }
37}

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

05.08.2012, 15:52:46 via Website

Hey,

was sagt denn das Logcat dazu?

Lg Ansgar

Antworten
Gelöschter Account
  • Forum-Beiträge: 725

05.08.2012, 16:43:11 via Website

Ansgar M
Hey,

was sagt denn das Logcat dazu?

Lg Ansgar

Oder debuge mal das app.. wo genau ist der Fehler.. ?

Antworten
Daniel W.
  • Forum-Beiträge: 17

05.08.2012, 17:59:29 via Website

Habs rausgefunden!
Es fehlt "super.onPause();"
Was macht den super.onPause() ?
Hab bei developer.android.com nachgeschaut, aber keine Erklärung gefunden...

Antworten
Gelöschter Account
  • Forum-Beiträge: 725

08.08.2012, 13:18:05 via Website

Daniel W.
Habs rausgefunden!
Es fehlt "super.onPause();"
Was macht den super.onPause() ?
Hab bei developer.android.com nachgeschaut, aber keine Erklärung gefunden...

http://de.wikibooks.org/wiki/Googles_Android/_Activities
hier vielleicht ?

Antworten
Gelöschter Account
  • Forum-Beiträge: 80

08.08.2012, 13:30:34 via Website

Deine Klasse MainActivity erbt von der Klasse Activity (extends Activity). Damit erbt sie auch die onPause()-Funktion, welche vom System aufgerufen wird, siehe Activity-Lifecycle!
Wenn du diese überschreibst - in deinem Code fehlt übrigens das @Override - dann solltest du zuerst mit super.onPause() die Funktion der Activity-Klasse aufrufen, bevor du sie mit deinem eigenen Code erweiterst.

— geändert am 08.08.2012, 13:38:51

Antworten