2016-07-23 124 views
-1

而不是使用吐司,我想用在菜单项中的点击监听器,并且我们可以在这种情况下使用片段 这是我想添加点击,下面的代码,所以我可以打开一个新的活动如何使用点击监听器上的菜单项?

//启动菜单XML文件(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

可能的复制[如何启动活动在Android 2.1](http://stackoverflow.com/questions/3720581/how-to-start-activity-in-android-2-1) – Divers

回答

1

是的,你可以做到这一点通过简单的开关壳体的内部添加一个Intent对每个菜单项。有供您参考在下面摘录一看:

@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

谢谢mayank,它的工作 –

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 intent = new Intent(currentactivity.this,towhichactivityyouwantmove.class) 
    startActivity(intent);