[英]How to remove default android action bar after setting custom action bar view
[英]Android setting action bar from child intent
打擾一下,我只是想知道。 可以根據child intent
設置操作欄嗎?
就我而言,我的主要活動是SherlockActivity
,但它使用的是tab
宿主。 然后我從Intent添加了一個tabspec,它也使用了sherlockActivity。 然后我想根據該tabspec的意圖設置操作欄。
如果可以這樣做,請問我怎么知道? 因為那樣會使我的應用程序遇到錯誤。
08-16 10:30:00.470: E/AndroidRuntime(16137): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{}: java.lang.NullPointerException
這是我的主要活動:
公共類MainActivity擴展了SherlockActivity {
private LocalActivityManager lam;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
lam = new LocalActivityManager(this, false);
lam.dispatchCreate(savedInstanceState);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.header);
View v = getSupportActionBar().getCustomView();
tv = (TextView) v.findViewById(R.id.headerTitle);
tv.setTypeface(Typeface.createFromAsset(AlumniApplication.getContext().getAssets(), "fonts/LLNITRO_.ttf"));
tv.setText("Title");
setTab();
}
private void setTab(){
TabHost tabHost = (TabHost) findViewById(R.id.main_tabhost);
tabHost.setup(lam);
TabSpec com = tabHost.newTabSpec("community");
com.setIndicator(getTabIndicator(R.drawable.com_tab));
com.setContent(new Intent(AlumniApplication.getContext(), CommunityActivity.class));
tabHost.addTab(com);
}
private View getTabIndicator(int srcId){
View v = LayoutInflater.from(AlumniApplication.getContext()).inflate(R.layout.tab_image_layout, null);
ImageView iv = (ImageView) v.findViewById(R.id.tab_image);
iv.setImageResource(srcId);
return v;
}
}
然后我想根據該兒童意圖設置操作欄
公共類CommunityActivity擴展了SherlockActivity {
private LocalActivityManager lam;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_above_layout);
}
}
但是當我這樣做時,它就出錯了。
如果要從子片段中調用活動的方法(正在托管片段),則需要獲得對該托管活動的引用。 使用getActivity()
可以獲得此連接。 現在,您可以在片段內調用活動的方法。
例如:
getActivity().setTitle(R.string.my_actionbar_title);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.