我可以創建一個Toolbar編程傳遞一個ApplicationContext:Instanciating一個工具欄有一個ApplicationContext
Toolbar toolbar = new Toolbar(applicationContext);
但是當我嘗試使用它,它失敗:
Menu menu = toolbar.getMenu();
toolbar.setTitle("");
MenuItem item = menu.add(mContext.getString(R.string.HDLabel));
item.setCheckable(true);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
我得到以下異常:
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 5: TypedValue{t=0x2/d=0x7f01010b a=-1}
at android.content.res.TypedArray.getColorStateList(TypedArray.java:482)
at android.widget.TextView.<init>(TextView.java:1043)
at android.widget.TextView.<init>(TextView.java:671)
at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:60)
at android.support.v7.view.menu.ActionMenuItemView.<init>(ActionMenuItemView.java:72)
at android.support.v7.view.menu.ActionMenuItemView.<init>(ActionMenuItemView.java:68)
其他人也有同樣的問題:Upgrading to SDK 21 - Error inflating class android.support.v7.internal.widget.ActionBarContainer。
但我真的很想使用ApplicationContext,因爲我想讓我的工具欄顯示在活動之外。有沒有人能夠這樣做?
編輯:我想在SYSTEM_ALTERT_WINDOW我的工具欄,如這裏所描述的Facebook的信使泡頭:What APIs in Android is Facebook using to create Chat Heads?
請發佈您的代碼 –
切勿使用應用上下文處理視圖。視圖與活動相關聯,使用活動上下文。 –
**在活動之外,您希望顯示工具欄的位置?**如果這甚至可能是一些高級別的東西,考慮到您的問題,您更可能誤解Android的一部分工作。那我們來了解一下。 –