1. inspire, 27.12.2010 #1
    inspire

    inspire Threadstarter Ambitioniertes 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 Neues 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 Ambitioniertes Mitglied

  4. FireRider, 27.12.2010 #4
    FireRider

    FireRider Neues 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 bedankt sich.
  5. inspire, 27.12.2010 #5
    inspire

    inspire Threadstarter Ambitioniertes Mitglied

    jetzt hast du mich verstanden, genau das hab ich gesucht - danke! :)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Bekomme App Update nicht in den Store Android App Entwicklung 25.04.2019
Du betrachtest das Thema "Bekomme Activity nicht zum Laufen" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.