2016-08-23 8 views
0

私はアンドロイドアプリケーションを開発し始めています。私のアプリケーションでは、多くのオプションを持つトップメニューがあります。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クラスを作成し、ベースアクティビティのようにメニューを作成することを許可する関数を持っていました。 私のメニューが自分のクラスに及ぶようにする活動。

私はこれがあなたを助けることができ、また私の質問と私の解決策を理解することができれば幸いです。

関連する問題