BackButton() zurück zum Main-layout

  • Antworten:8
superSharp
  • Forum-Beiträge: 89

25.10.2013, 20:05:07 via Website

Guten Abend,

mein Projekt besteht aus zwei Klassen:

1. MainActivity (die ganz normale main)
2. OptionsActivity (soll starten wenn auf den Optionen-Button gedrückt wird (neben dem Menü Button))

Ich versuch von der MainActivity aus die OptionsActivity zu starten (über das onKeyDown-Event vom Typ Keycode_Menu).

Code - MainActivity:

1@Override
2 public boolean onKeyDown(int keycode, KeyEvent e) {
3 switch(keycode) {
4 case KeyEvent.KEYCODE_MENU:
5 Intent intent = new Intent(MainActivity.this, OptionsActivity.class);
6 MainActivity.this.startActivity(intent);
7 }
8}

Code - OptionsActivity:

1public class OptionsActivity extends Activity {
2
3 @Override
4 protected void onCreate(Bundle savedInstanceState) {
5 super.onCreate(savedInstanceState);
6 setContentView(R.layout.options_layout);
7 }
8
9 public void onBackPressed(){
10 this.finish();
11 }
12
13 @Override
14 public boolean onCreateOptionsMenu(Menu menu) {
15 // Inflate the menu; this adds items to the action bar if it is present.
16 getMenuInflater().inflate(R.menu.main, menu);
17 return true;
18 }
19
20 @Override
21 public boolean onOptionsItemSelected(MenuItem item) {
22 // Handle action bar item clicks here. The action bar will
23 // automatically handle clicks on the Home/Up button, so long
24 // as you specify a parent activity in AndroidManifest.xml.
25 switch (item.getItemId()) {
26 case R.id.action_settings:
27 return true;
28 }
29 return super.onOptionsItemSelected(item);
30 }
31
32 /**
33 * A placeholder fragment containing a simple view.
34 */
35 public static class PlaceholderFragment extends Fragment {
36 public PlaceholderFragment() {
37 }
38
39 @Override
40 public View onCreateView(LayoutInflater inflater, ViewGroup container,
41 Bundle savedInstanceState) {
42 View rootView = inflater.inflate(R.layout.fragment_main, container, false);
43 return rootView;
44 }
45 }
46}

Wo liegt der Fehler?

— geändert am 25.10.2013, 20:31:40

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.10.2013, 20:35:24 via Website

Funktioniert es wenn du das Intent in das OnCLick eines ganz normalen Buttons setzt?
Bei der Zeile mit dem KeyDown bin ich mir unsicher.
Debugge mal an dieser Stelle

PS: Was ist bei dir der Optionen Button?
Ist das einer der Hardware buttons?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
superSharp
  • Forum-Beiträge: 89

26.10.2013, 00:11:25 via Website

Funktioniert es wenn du das Intent in das OnCLick eines ganz normalen Buttons setzt?

Nein leider nicht, dann stürzt das Programm ab.

Was ist bei dir der Optionen Button?
Ist das einer der Hardware buttons?

Genau (der linke neben dem Home Button).

Debugge mal an dieser Stelle

Ich bekomme die Fehlermeldung:

Method threw 'android.content.ActivityNotFoundException' excpetion. (@830032974496)

— geändert am 26.10.2013, 00:19:29

Antworten
superSharp
  • Forum-Beiträge: 89

26.10.2013, 00:35:40 via Website

10-26 00:35:12.260 30777-30777/com.example.testapplicationproject E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at com.example.testapplicationproject.MainActivity.onKeyDown(MainActivity.java:183)
at android.view.KeyEvent.dispatch(KeyEvent.java:2623)
at android.app.Activity.dispatchKeyEvent(Activity.java:2389)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1916)
at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:3791)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3774)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3483)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3540)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3516)
at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:3666)
at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:1986)
at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1702)
at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1693)
at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:1963)
at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:132)
at android.os.Looper.loop(Looper.java:124)
at android.app.ActivityThread.main(ActivityThread.java:5289)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)

Antworten
impjor
  • Forum-Beiträge: 1.793

26.10.2013, 01:07:04 via App

java.lang.NullPointerException at com.example.testapplicationproject.MainActivity.onKeyDown(MainActivity.java:183) at androi
Mal angesehen?

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
superSharp
  • Forum-Beiträge: 89

26.10.2013, 11:32:44 via Website

Ja hab ich, irgendwas im KeyDown-Event ist also Null nur was?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

26.10.2013, 13:12:21 via Website

Was steht in zeile 183 in deiner Main Activity?
Am besten den ganzen Code der MainActivity.
Ei weiterer Lösungsvorschlag:
In der Manifest des Projektes die Options Activity eintragen (falls du das noch nicht gemacht hast)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
superSharp
  • Forum-Beiträge: 89

26.10.2013, 16:51:40 via Website

Okay, dass lag an dem Mist der da drinn Stand. Funktioniert nun alles einwandfrei :)

Antworten