package com.dotcool.reader.fragment;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTabHost;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.dotcool.R;
import com.dotcool.reader.activity.INovelListHelper;
public class DisplayNovelTabFragment extends SherlockFragment {
// TabSpec Names
private static final String MAIN_SPEC = "Main";
private static final String TEASER_SPEC = "Teaser";
private static final String ORIGINAL_SPEC = "Original";
private static final String TAG = DisplayNovelTabFragment.class.toString();
private FragmentTabHost mTabHost;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_display_novel_tab, container, false);
mTabHost = (FragmentTabHost) view.findViewById(android.R.id.tabhost);
mTabHost.setup(getSherlockActivity(), getChildFragmentManager(), R.id.content);
mTabHost.addTab(mTabHost.newTabSpec(MAIN_SPEC).setIndicator(MAIN_SPEC),
DisplayLightNovelListFragment.class, null);
mTabHost.addTab(mTabHost.newTabSpec(TEASER_SPEC).setIndicator(TEASER_SPEC),
DisplayTeaserListFragment.class, null);
mTabHost.addTab(mTabHost.newTabSpec(ORIGINAL_SPEC).setIndicator(ORIGINAL_SPEC),
DisplayOriginalListFragment.class, null);
return view;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// set menu for main/teaser/original
inflater.inflate(R.menu.fragment_display_novel_tab, menu);
}
@Override
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) {
Fragment currentTab = getChildFragmentManager().findFragmentById(R.id.content);
Log.d(TAG, "Current fragment: " + currentTab.getClass().toString());
switch(item.getItemId()) {
case R.id.menu_manual_add:
if(currentTab instanceof INovelListHelper)
((INovelListHelper)currentTab).manualAdd();
return true;
case R.id.menu_download_all_info:
if(currentTab instanceof INovelListHelper)
((INovelListHelper)currentTab).downloadAllNovelInfo();
return true;
case R.id.menu_refresh_novel_list:
if(currentTab instanceof INovelListHelper)
((INovelListHelper)currentTab).refreshList();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}