2016-08-23 66 views
0

我開始開發一個android應用程序。在我的應用程序中,我有一個頂級菜單,有很多選項。Android助理類到頂級菜單

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 

    <item android:id="@+id/action_settings" 
     android:title="@string/action_settings" 
     app:showAsAction="never"/> 
    <item android:id="@+id/action_languages" 
     android:title="@string/action_laguages" 
     app:showAsAction="never"/> 
    <item android:id="@+id/action_notifications" 
     android:title="@string/action_notification" 
     app:showAsAction="never" 
     android:checkable="true" 
     android:checked="true"/> 

</menu> 

我知道如何創建頂部菜單和其關聯到一個活動。

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

我知道如何通過菜單動作來執行代碼。

@Override 
    public boolean onOptionsItemSelected(MenuItem item){ 
     switch(item.getItemId()) { 
      case R.id.action_languages: 
       Intent languages = new Intent(this, TeamProject_Languages.class); 
       this.startActivity(languages); 
       return true; 
      case R.id.action_notifications: 
       if((item != null) && (item.isCheckable()) && (item.isChecked())){ 
        item.setChecked(false); 
       }else if((item != null) && (item.isCheckable()) && (!item.isChecked())){ 
        item.setChecked(true); 
       } 
       return true; 
      case R.id.action_settings: 
       Intent settings = new Intent(this, TeamProject_Settings.class); 
       this.startActivity(settings); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
     } 
    } 

但我想知道是否有可能將類關聯到此菜單。這可以在一段時間內寫入代碼,而不是在需要使用它的所有活動中。 如果有可能有人可以告訴我該怎麼做? 在最好的情況下,我只想寫只允許將菜單關聯到活動類的代碼。

在此先感謝您的幫助。

回答

0

我找到了解決方案。對於那些想要做同樣的事情的人來說,這是我的解決方案。 我創建了一個擴展了「AppCompatActivity」的java類,並且我具有允許在基本活動中創建菜單的功能。 然後,我想要我的菜單的活動擴展了我自己的課程。

我希望這可以幫助你,也可以理解我的問題和我的解決方案。

相關問題