2012-01-09 166 views
2

我在我的應用程序上有一個菜單欄,我需要在我的5個活動之間分享。我的菜單欄(= 5個按鈕允許在活動之間切換)具有完全相同的用戶界面和相同的行爲,因此我希望共享菜單欄的XML視圖代碼和控制器代碼。在活動之間共享菜單欄

我已經找到了使用Reusable UI Components共享XML代碼的方法,但是我找不到一種方法來共享控制菜單欄按鈕點擊的控制器代碼。

注意:我的菜單欄是定製的,而不是Android的Options Menu之一。

在此先感謝。

+0

我認爲這個鏈接可以幫助ü所以請訪問:http://stackoverflow.com/a/3611361/1023138 – 2012-01-09 13:19:24

回答

1

你可以採取一個活動與你的菜單欄簡單地實現,然後你可以使用這個類來擴展你們每個人的活動,而不是acivity

假設你的基地活動看起來如下: BaseActivity延伸活動

之後,你可以擴展你所有的五個活動與BaseActivity

+0

這是我以前的方式。 – anticafe 2012-01-09 13:59:31

+0

我做到了,但是您在BaseActivity中的'setContentView()'上設置了哪個佈局,然後? – thomaus 2012-01-11 12:04:29

+0

是否可以使用「標籤組」 – rajpara 2012-01-12 06:45:56

0

也許你應該嘗試創建自己的視圖類。假設你的菜單欄的根標籤是RelativeLayout。

public class MenubarView extends RelativeLayout { 
    public MenubarView(Context context, AttributeSet attrs) { 
     super(context, attrs); 

     // inflates menubar.xml into this view 
     // (note: menubar's root view should probably be a 'merge' tag) 
     LayoutInflater.from(context).inflate(R.layout.menubar, this); 
    } 

    // controller code 
} 
在XML

然後,只需嵌入自定義視圖像這樣:

<LinearLayout 
    ... /> 

    <com.your.package.MenubarView 
     ... /> 

</LinearLayout>