2016-07-23 23 views
-1

Statt Toast zu verwenden, ich möchte in den Menüpunkten auf Klick Zuhörer verwenden, und wir können Fragmente in diesem Fall diese verwenden ist der folgende Code, in dem ich auf Klick hinzufügen möchten, also kann ich in einer neuen Tätigkeit öffnenWie wird der Click-Listener bei Menüeinträgen verwendet?

// Initiieren Menu XML-Datei (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, "Bookmark is Selected", Toast.LENGTH_SHORT).show(); 
      return true; 

     case R.id.menu_save: 
      Toast.makeText(AndroidMenusActivity.this, "Save is Selected", Toast.LENGTH_SHORT).show(); 
      return true; 

     case R.id.menu_search: 
      Toast.makeText(AndroidMenusActivity.this, "Search is Selected", Toast.LENGTH_SHORT).show(); 
      return true; 

     case R.id.menu_share: 
      Toast.makeText(AndroidMenusActivity.this, "Share is Selected", Toast.LENGTH_SHORT).show(); 
      return true; 

     case R.id.menu_delete: 
      Toast.makeText(AndroidMenusActivity.this, "Delete is Selected", Toast.LENGTH_SHORT).show(); 
      return true; 

     case R.id.menu_preferences: 
      Toast.makeText(AndroidMenusActivity.this, "Preferences is Selected", Toast.LENGTH_SHORT).show(); 
      return true; 

     default: 
      return super.onOptionsItemSelected(item); 
     } 
    }  

} 
+0

Mögliche Duplikat moving [So zu starten Aktivität in Android 2.1] (http://stackoverflow.com/questions/3720581/how-to-start-activity-in-android-2-1) – Divers

Antwort

1

Ja, Sie können das tun, indem Sie einfach eine Intent gegen jeden Menüpunkt innerhalb Schaltergehäuse hinzugefügt wird. Werfen Sie einen Blick auf den folgenden Schnipsel für Ihre Referenz:

@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 

    switch (item.getItemId()) 
    { 
    case R.id.menu_bookmark: 

     // Ex: launching new activity/screen or show alert message 

     Intent intent = new Intent(yourActivity.this, NextActivity.class) 
     startActivity(intent); 
     return true; 

    default: 
     return super.onOptionsItemSelected(item); 
    } 
}  
+0

Dank mayank, es funktionierte –

0
@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 

    switch (item.getItemId()) 
    { 
    case R.id.menu_bookmark: 

     Intent intent = new Intent(currentactivity.this, toactivity.class) 
     startActivity(intent); 

     return true; 

    case R.id.menu_save: 
     Intent intent = new Intent(currentactivity.this, toactivity.class) 
     startActivity(intent); 
     return true; 

    case R.id.menu_search: 
     Intent intent = new Intent(currentactivity.this, toactivity.class) 
     startActivity(intent); 
     return true; 

    case R.id.menu_share: 
     Intent intent = new Intent(currentactivity.this, toactivity.class) 
     startActivity(intent); 
     return true; 

    case R.id.menu_delete: 
     Intent intent = new Intent(currentactivity.this, toactivity.class) 
     startActivity(intent); 
     return true; 

    case R.id.menu_preferences: 
     Intent intent = new Intent(currentactivity.this, toactivity.class) 
     startActivity(intent); 
     return true; 

    default: 
     return super.onOptionsItemSelected(item); 
    } 
}  

Intent Sie haben Absicht zu verwenden, um von einem Bildschirm zum anderen

Intent intent = new Intent(currentactivity.this,towhichactivityyouwantmove.class) 
    startActivity(intent);