1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. inspire, 27.12.2010 #1
    inspire

    inspire Threadstarter Android-Hilfe.de Mitglied

    Hi,

    ich habe eine ganz normale Activity, die beim Starten des Programms ausgeführt wird und möchte nun eine neue Activity hinzufügen, die das Settings-Menü darstellen soll.

    Die Activity heißt Settings und sieht so aus:
    Code:
    public class Settings extends ListActivity {
    
        
        @Override
        public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
    
          setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));
    
          ListView lv = getListView();
          lv.setTextFilterEnabled(true);
    
          lv.setOnItemClickListener(new OnItemClickListener() {
    
    
            @Override
            public void onItemClick(AdapterView<?> arg0, View view, int position,
                    long id) 
            {
                Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
                          Toast.LENGTH_SHORT).show();
            }
            
          });
          
        }
        
        
        static final String[] COUNTRIES = new String[] {"one", "two"};
    }
    Diese ist auch in der AndroidManifest.xml eingetragen:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.WinampControlClient"
          android:versionCode="1"
          android:versionName="1.0">
          
          <supports-screens
            smallScreens="false" />
          
          
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            
            <activity android:name=".WinampControlClient"
                      android:label="@+string/app_name"
                      android:screenOrientation="portrait">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            
            <activity android:name=".Settings" />
                
    
        </application>
        
        <uses-permission android:name="android.permission.INTERNET" />
        
    </manifest> 

    Doch wie bekomme ich die nun auf den Bildschirm?

    Martin
     
  2. FireRider, 27.12.2010 #2
    FireRider

    FireRider Junior Mitglied

    Ich denke du meinst dass die Activity ausgeführt wird wenn du die Menü-Taste drückst und da den Eintrag auswählst oder?
    Wenn dem so ist, dann musst du in der Hauptacitivity (also da wo das Menü sein soll) folgendes einfügen:

    Code:
    public boolean onCreateOptionsMenu(Menu menu) {
        	MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.MENU, menu);
            return true;
    }
        
    public boolean onOptionsItemSelected(MenuItem item) {
        	switch (item.getItemId()) {
        	case R.id.MENUEINTRAG:
        		//Settings-Activity starten
        		return true;
        	default:
        		return super.onOptionsItemSelected(item);
        	}
    }
    Jetzt musst du noch die Einträge des Menüs erstellen.
    Dazu machst du im res einen neuen Ordner namens res/menu und darin ein XML-File mit Namen MENU.xml
    Darin fügst du folgendes ein:

    Code:
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    	<item android:id="@+id/MENUEINTRAG"
    		android:title="MENUEINTRAG" 
                    android:icon="ICON" />
    </menu>
    Hoffe hat dir geholfen :)
     
  3. inspire, 27.12.2010 #3
    inspire

    inspire Threadstarter Android-Hilfe.de Mitglied

  4. FireRider, 27.12.2010 #4
    FireRider

    FireRider Junior Mitglied

    Mein Contextmenü war eich da um deine Einstellungsactivity zu starten^^
    Man kanns natürlich auch anders starten, aber wenn du wissen wolltest wie du ne Activity startest dann musst du eigentlich nur die beiden Befehle benutzen:

    Code:
    Intent myIntent = new Intent(this,Settings.class);
    StartActivityForResult(myIntent,0);
    Diese beiden Befehle kannst du z.B. in meinem Contextmenu einfügen (Da wo der Kommentar is) oder in einem OnClickListener (Da musst du dann drauf achten, dass this nicht geht, da musst du view.getContext() oder getApplicationContext() benutzen)

    Wenns wieder das falsche war solltest du vielleicht noch etwas genauer werden xD
     
    inspire gefällt das.
  5. inspire, 27.12.2010 #5
    inspire

    inspire Threadstarter Android-Hilfe.de Mitglied

    jetzt hast du mich verstanden, genau das hab ich gesucht - danke! :)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Integer-Wert übertragen auf zweite Activity Android App Entwicklung Freitag um 15:59 Uhr
[ERLEDIGT] Warum bekomme ich hier eine NullPointerException Android App Entwicklung 07.10.2017
[ERLEDIGT] Bitmap von Activity an Activity übergben Android App Entwicklung 03.09.2017
[OFFEN] Wie bekomme ich Zugriff auf meine externe SD Karte? Android App Entwicklung 23.08.2017
[OFFEN] Activity als Dialog - RecyclerView funktioniert nicht mehr Android App Entwicklung 14.08.2017
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017
[GELÖST] Übergabe an zweite Activity Android App Entwicklung 11.05.2017
[ERLEDIGT] Problem beim Starten einer neuen Activity Android App Entwicklung 21.03.2017
Wie bekomme ich Map Markers von einer SQL Datenbank Android App Entwicklung 11.03.2017
Du betrachtest das Thema "Bekomme Activity nicht zum Laufen" im Forum "Android App Entwicklung",