So I've created an Activity subclass called CustomTitlebarActivity. Essentially, each main activity in my app will have a custom titlebar with many common features such as a Home button, a title, a search button, etc. In my current implementation, I am still explicitly using an include statement in the layout XML for each CustomTitlebarActivity:
<include layout="@layout/titlebar" />
It seems natural that I should be able to do this within CustomTitlebarActivity. I have two questions: What code can replace this include tag, and where should I put the code? (My first instinct would be to put it in CustomTitlebarActivity's setContentView method.)
On a related note, I would appreciate insight into better ways to reuse android UI code (even if, per se, the titlebars need to vary slightly between activities.)
I met this issue too, and I just solved it now. I think my solution is easier:
create a inflater:
LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);
inflate the child layout:
View childLayout = inflater.inflate(R.layout.child,
(ViewGroup) findViewById(R.id.child_id));
add it into parent:
parentLayout.addView(childLayout);
It's done, enjoy it!