2012-01-10 45 views
4

我正在創建一個Android應用程序,它有4種不同的活動,都有一個共同的菜單。要在所有活動中顯示菜單,我通常需要在每個文件中添加此代碼。如何在android中包含公共代碼

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

反正是有,我可以在一個單一的文件&包括下面的代碼添加到所有的活動?

在此先感謝。

+0

你可以參考我的答案[這裏](http://stackoverflow.com/questions/7618227/can-i-combine-my-code-into-some-kind-of-全球活動/ 7618263#7618263) – 2012-01-10 05:05:12

回答

7

創建一個Main Activity寫你的菜單代碼在活動,然後extend與主要活動等活動..

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

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
      return false; 
    }  
} 

有些TempActivity

public TempActivity extend MainActivity 
{ 

/...... 
} 
+0

好主意。但是可以接受嗎? – 2012-01-10 05:03:05

+0

如果我們將一個活動與另一個活動進行擴展,這可以接受嗎? – 2012-01-10 05:08:24

+0

是的,幾乎每個爲所有活動製作分享菜單的人都這樣做。 – user370305 2012-01-10 05:08:35

2
abstract class MenuHavingActivity extends Activity { 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu, menu); 
    return true; 
    } 
} 

,然後讓其他活動延伸MenuHavingActivity

編輯:是啊,什麼user370305說