Gestione di un evento di clic sul menu – Android

Voglio creare un intento che inizia una nuova attività una volta cliccato un elemento di menu, ma non so come farlo. Sto leggendo attraverso la documentazione android, ma la mia implementazione non è corretta … e qualche guida nella giusta direzione aiutava. Ho elencato il mio codice qui sotto e commentato le mie aree problematiche, penso di invocare il metodo sbagliato.

package com.jbsoft.SimpleFlashlight; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.*; import android.view.MenuItem.OnMenuItemClickListener; import android.widget.Button; import android.widget.Toast; public class SimpleFlashLightActivity extends Activity { Button GreenButton; // Declare instances of buttons to use later Button BlueButton; private static final int OK_MENU_ITEM = Menu.FIRST; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); BlueButton = (Button) findViewById(R.id.bluebutton); BlueButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //Display msg when user clicks Blue Button showColorChangeMsg(); // Switch Activities on click Intent blueintent = new Intent(SimpleFlashLightActivity.this, BlueFlashLightActivity.class); startActivity(blueintent); } }); //Install listener for second button GreenButton = (Button) findViewById(R.id.greenbutton); GreenButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Display msg when user clicks Green Button showColorChangeMsg(); Intent greenintent = new Intent(SimpleFlashLightActivity.this, GreenFlashLightActivty.class); startActivity(greenintent); } }); ; /**************************************************************************************/ // Method Declarations // THIS IS WHERE I'M HAVING A PROBLEM MenuItem AddColorButton = (MenuItem)findViewById(R.id.menu_insert); boolean onOptionsItemSelected(AddColorButton) { Intent intent = new Intent(SimpleFlashLightActivity.this, BlueFlashLightActivity.class); startActivity(intent); return true; ; }; /****************************************************************************************/ } private void showColorChangeMsg() { Toast msgtoast = Toast.makeText(this.getBaseContext(), "SWITCH COLOR!", Toast.LENGTH_LONG); msgtoast.show(); } private void showMsg(String msg) { Toast toast = Toast.makeText(this, msg, Toast.LENGTH_LONG); toast.show(); } public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater mi = getMenuInflater(); mi.inflate(R.menu.list_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case OK_MENU_ITEM: showMsg("OK"); break; } return super.onOptionsItemSelected(item); } } 

  • NETWORK_PROVIDER non fornisce posizioni aggiornate
  • Che cosa dovrebbe essere il payload dello sviluppatore in android in-app fatturazione v3 api?
  • Come avviare il servizio Android da un'altra applicazione Android
  • Possiamo eliminare un SMS in Android prima di raggiungere la posta in arrivo?
  • Come creare un utile tooltip in Android
  • Come implementare il timer sul quiz Android?
  • Crea button con angoli arrotondati in android
  • Come ricevere notifiche di push di parse su un dispositivo android utilizzando parse.com
  • Inizializza le preferenze da XML nell'attività principale
  • Salva l'overlay dell'image con l'image catturata dalla camera sottostante
  • Qual è il valore ragionevole per le size della scheda SD per AVD?
  • Imansible risolvere: com.facebook.android:facebook-android-sdk:4.0.0
  • 4 Solutions collect form web for “Gestione di un evento di clic sul menu – Android”

    codice semplice per la creazione del menu ..

     @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.game_menu, menu); return true; } 

    codice semplice per il menu selezionato

     @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.new_game: newGame(); return true; case R.id.help: showHelp(); return true; default: return super.onOptionsItemSelected(item); } } 

    per maggiori dettagli andare sotto il link ..

    link1

    Link2

    Aggiungi il seguente codice

     @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.new_item: Intent i = new Intent(this,SecondActivity.class); this.startActivity(i); return true; default: return super.onOptionsItemSelected(item); } } 

    Il file di elementi di menu sembra

    res / menu / menu_main.xml

     <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"> <item android:id="@+id/settings" android:title="Setting" app:showAsAction="never" /> <item android:id="@+id/my_activity" android:title="My Activity" app:showAsAction="always" android:icon="@android:drawable/btn_radio"/> </menu> 

    Il codice Java sembra

    src / MainActivity.java

     @Override public boolean onCreateOptionsMenu(Menu menu) { present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.my_activity) { Intent intent1 = new Intent(this,MyActivity.class); this.startActivity(intent1); return true; } if (id == R.id.settings) { Toast.makeText(this, "Setting", Toast.LENGTH_LONG).show(); return true; } return super.onOptionsItemSelected(item); } 

    Aggiungere il seguente codice al tuo file AndroidManifest.xml

     <activity android:name=".MyActivity" android:label="@string/app_name" > </activity> 

    Spero che ti aiuterà.

    Questo codice è per me

     @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { // add your action here that you want return true; } else if (id==R.id.login) { // add your action here that you want } return super.onOptionsItemSelected(item); } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.