Settings Menu soll Activity aufrufen

  • Antworten:31
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 72

04.03.2013 17:18:18 via Website

Hallo,

Ich bin dabei mich einbisschen mit APPS programmierung zu beschäftigen und habe sogar das erste "hello world" hintermir. Nun Eclipse erstellt ja standartmässig ein menu Namens "Setttings":

1@Override
2 public boolean onCreateOptionsMenu(Menu menu) {
3 // Inflate the menu; this adds items to the action bar if it is present.
4 getMenuInflater().inflate(R.menu.activity_main, menu);
5 return true;
6 }

Nun habe ich eine neue Grafische Oberfläche (Activity2) angelegt, wie mache ich das nun wenn man auf den Menu Settings klickt dass sich das die 2te Oberfläche öffnet.

Ich bin etwas am rumtesten bis mein Buch ankommt.

Danke im voraus
  • Forum-Beiträge: 182

04.03.2013 17:26:36 via Website

Du erzeugst ein Intent und startest dieses. Gibt die Code Beispiele im Internet. Musst natürlich einen onClicklistener setzen. Muss es wirklich eine neue Activity sein oder willst du was bei der best. ändern? Z.B. die Gui?

Sichern Sie Ihr Smartphone gegen Diebstahl und erhöhen Sie die Chance, es wiederzufinden. Jetzt neu: Guardian - Anti-Diebstahl Guardian - Anti-Diebstahl Pro https://play.google.com/store/apps/details?id=de.tapps.guardian.pro Guardian - Anti-Diebstahl Trial https://play.google.com/store/apps/details?id=de.tapps.guardian.free

  • Forum-Beiträge: 72

04.03.2013 17:57:19 via App

Hi danke euch, ich will nur eine neue Oberfläche öffnen nix ändern

Hat vielleixht jemand ein beispiel
  • Forum-Beiträge: 1.793

04.03.2013 18:06:02 via App

steht doch alles dort:
1@Override
2public boolean onOptionsItemSelected(MenuItem item) {
3 // Handle item selection
4switch (item.getItemId()) {
5 case R.id.new_game: newGame(); return true;
6 case R.id.help: showHelp();
7 return true;
8default: return super.onOptionsItemSelected(item);
9}
10}

Statt new Game bzw. showHelp
muss du
setContentView(deinLayout);
einsetzen und natürlich R.id.xxx anpassen.
Gruß

Liebe Grüße impjor.

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

  • Forum-Beiträge: 72

04.03.2013 18:15:25 via App

Danke das kommt direkt unter den code im ersten post?

Kennt ihr ne Seite wo es beispiele zu downloaden gibt?

Danke
  • Forum-Beiträge: 72

04.03.2013 18:48:07 via Website

Hallo,

Ich habe jetzt mal getestet jedoch leider ohne erfolg hier meine Dateien:

Manifest
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.example.tglapp"
4 android:versionCode="1"
5 android:versionName="1.0" >
6
7 <uses-sdk
8 android:minSdkVersion="8"
9 android:targetSdkVersion="17" />
10
11 <application
12 android:allowBackup="true"
13 android:icon="@drawable/ic_launcher"
14 android:label="@string/app_name"
15 android:theme="@style/AppTheme" >
16 <activity
17 android:name="com.example.tglapp.MainActivity"
18 android:label="@string/app_name" >
19 <intent-filter>
20 <action android:name="android.intent.action.MAIN" />
21 <action android:name="android.intent.action.MAIN2" />
22
23 <category android:name="android.intent.category.LAUNCHER" />
24 </intent-filter>
25 </activity>
26 <activity
27 android:name="com.example.tglapp.MainActivity2"
28 android:label="@string/title_activity_main_activity2" >
29 </activity>
30 </application>
31
32</manifest>

MainActivity.java
1package com.example.tglapp;
2
3import android.os.Bundle;
4import android.app.Activity;
5import android.view.Menu;
6import android.view.MenuItem;
7
8public class MainActivity extends Activity {
9
10 @Override
11 protected void onCreate(Bundle savedInstanceState) {
12 super.onCreate(savedInstanceState);
13 setContentView(R.layout.activity_main);
14 }
15
16 @Override
17 public boolean onCreateOptionsMenu(Menu menu) {
18 // Inflate the menu; this adds items to the action bar if it is present.
19 getMenuInflater().inflate(R.menu.activity_main, menu);
20 return true;
21 }
22
23 @Override
24 public boolean onOptionsItemSelected(MenuItem item) {
25 // Handle item selection
26 switch (item.getItemId()) {
27 case R.menu.activity_main: setContentView(R.layout.activity_main2);
28 return true;
29 default: return super.onOptionsItemSelected(item);
30 }

31 }
32}

Wo ist da der Wurm drin? könnt ihr mir da vielleicht weiterhelefen, oder benötigt ihr noch eine Datei?

Ja ich hab mir ein Buch bestellt sollte im Laufe der Woche ankommen.

Danke im voraus, wenn jemand mir da weiterhelfen kann.
  • Forum-Beiträge: 72

04.03.2013 18:57:31 via Website

1@Override
2 public boolean onOptionsItemSelected(MenuItem item) {
3 // Handle item selection
4 switch (item.getItemId()) {
5 case R.id.menu_settings: setContentView(R.layout.activity_main2);
6 return true;
7 default: return super.onOptionsItemSelected(item);
8 }

Funktioniert noch immer nicht wie soll die ID da sein?

1<menu xmlns:android="http://schemas.android.com/apk/res/android" >
2
3 <item
4 android:id="@+id/menu_settings"
5 android:orderInCategory="100"
6 android:showAsAction="never"
7 android:title="@string/menu_settings"/>
8
9</menu>
  • Forum-Beiträge: 72

04.03.2013 19:11:12 via Website

Hallo,

Funktioniert :P

Danke dir, andere frage wie kann ich das jetzt bewerkstellen dass man beim back button wieder auf die anfangseite kommt ?
  • Forum-Beiträge: 72

04.03.2013 19:51:47 via Website

Haste nicht auf die schnelle ein codeschnipsel zum aufrufen hab gerade etwas gegooglet und getestet werde aber nicht richtig schlau.

Was kommt anstatt:
1setContentView(R.layout.activity_main2);

Zum aufrufen der activity
  • Forum-Beiträge: 182

04.03.2013 19:55:56 via Website

Willst du eine Activity starten oder was?
Dann folgendes:
1Intent myIntent = new Intent(aktuelleActivity.this, neueActivity.class);
2startActivity(myIntent);

Sichern Sie Ihr Smartphone gegen Diebstahl und erhöhen Sie die Chance, es wiederzufinden. Jetzt neu: Guardian - Anti-Diebstahl Guardian - Anti-Diebstahl Pro https://play.google.com/store/apps/details?id=de.tapps.guardian.pro Guardian - Anti-Diebstahl Trial https://play.google.com/store/apps/details?id=de.tapps.guardian.free