I am a newbie to android and I was wondering if someone could guide me about how to reuse the action bar in all of my android activities. As far as I have explored, I found
Well Your code looks good, but if you want to reuse exactly the same ActionBar with the same icons and menus and generally the same functionality in every activity.
You could add the code:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_action_search).getActionView();
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case R.id.menu_action_search:
{}
case R.id.menu_action_locate:
{}
case R.id.menu_action_mail:
{}
case R.id.menu_action_call:
{}
}
return super.onOptionsItemSelected(item);
}
in your BaseMenuActivity class and your actionbar will be populated the same for every activity that extends from it.
Update:
To create a menu layout you should create a folder 'menu' in your resources folder res/menu. Then create a xml file inside called : some_title.xml
A typical example of a menu xml file is like below:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_search"
android:actionViewClass="com.actionbarsherlock.widget.SearchView"
android:icon="@drawable/abs__ic_search"
android:showAsAction="ifRoom|withText|collapseActionView"
android:title="@string/menu_action_search"/>
<item
android:id="@+id/menu_sort"
android:icon="@drawable/content_sort_icon"
android:showAsAction="always"
android:title="@string/menu_action_sort">
</item>
</menu>
and then inflate that file :
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.some_title, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_action_search).getActionView();
return true;
}
For some more reading this tutorial is very very good on using ActionBar:
http://www.vogella.com/tutorials/AndroidActionBar/article.html