1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Item klick

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von canna4u, 16.02.2012.

  1. canna4u, 16.02.2012 #1
    canna4u

    canna4u Threadstarter Gewerbliches Mitglied

    Beiträge:
    16
    Erhaltene Danke:
    0
    Registriert seit:
    12.02.2012
    Hallo,

    Habe ein Hauptmenü mit zwei Buttons.

    Nun will ich noch ein Kontakt Formular haben.
    Reicht es wenn ich eine Neue XML Datei erstelle und eine neue klasse dafür?
    Das Formular will ich dann mit einen Item KLick aufrufen.

    Momentan sieht mein Code so aus:

    AndroidMenusActivity.java
    Code:
    package com.androidhive.androidmenus;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.widget.Toast;
    
    public class AndroidMenusActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
        
        /* Initiating Menu XML file (menu.xml) */
        @Override
        public boolean onCreateOptionsMenu(Menu menu)
        {
            MenuInflater menuInflater = getMenuInflater();
            menuInflater.inflate(R.layout.menu, menu);
            return true;
        }
        
        /**
         * Event Handling for Individual menu item selected
         * Identify single menu item by it's id
         * */
        @Override
        public boolean onOptionsItemSelected(MenuItem item)
        {
            
            switch (item.getItemId())
            {
            case R.id.menu_bookmark:
            	// Single menu item is selected do something
            	// Ex: launching new activity/screen or show alert message
                Toast.makeText(AndroidMenusActivity.this, "Blitzer melden", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.menu_save:
            	Toast.makeText(AndroidMenusActivity.this, "Blitzer Anzeigen", Toast.LENGTH_SHORT).show();
                return true;
            default:
                return super.onOptionsItemSelected(item);
            }
        }
        
    
    }
    Menü XML

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    	<!-- Single menu item 
    		 Set id, icon and Title for each menu item
    	-->
        <item android:id="@+id/menu_bookmark"
        	  android:icon="@drawable/icon_bookmark"
              android:title="Blitzer melden" />
        <item android:id="@+id/menu_save"
        	  android:icon="@drawable/icon_save"
              android:title="Blitzer zeigen" />
        
    </menu>
    
     
  2. Mo3bius, 17.02.2012 #2
    Mo3bius

    Mo3bius Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    14.11.2011
    Ich verstehe dein Problem nicht ganz. Möchtest du eine zweite Activity erstellen und diese über das Menü aufrufen?

    Wenn ja, dann ist das Stichwort Intents. Wenn du Beispielcode benötigst oder du ein anderes Problem meintest schreib das einfach nochmal.
     
  3. canna4u, 17.02.2012 #3
    canna4u

    canna4u Threadstarter Gewerbliches Mitglied

    Beiträge:
    16
    Erhaltene Danke:
    0
    Registriert seit:
    12.02.2012
    Genau das meinte ich
    Gibts da nen Beispielcode?

    lg
     
  4. swordi, 17.02.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    allein bei google findest du wohl mehr als 10 000 seiten, die genau das beschreiben.

    eigeninitiave ist gerade am anfang unerlässlich.
     
  5. Mo3bius, 17.02.2012 #5
    Mo3bius

    Mo3bius Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    14.11.2011
    Intents sind essentiell für die App-Entwicklung. So hat swordi nicht ganz Unrecht. :razz:

    Du benötigst für jede Activity eine neue Klasse. Diese sollte auch wieder eine xml-Layoutdatei haben. Die neue Activity muss in die Manfest-Datei eingetragen werden:

    Code:
    <activity android:name=".neueKlasse">       
            </activity>
    Das Menü wird etwa so verlinkt:

    Code:
            switch (item.getItemId())         {         case R.id.menu_bookmark: Intent myIntent = new Intent(AndroidMenusActivity.this,
    					neueKlasse.class);
    			startActivityForResult(myIntent, 0);
    			return true;        	
    return true;         case R.id.menu_save:         	Toast.makeText(AndroidMenusActivity.this, "Blitzer Anzeigen", Toast.LENGTH_SHORT).show();             return true;
                default:             return super.onOptionsItemSelected(item);         }
     
  6. the_alien, 17.02.2012 #6
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Das ist mal ein unlesbarer paste ;)
     

Diese Seite empfehlen