package com.umeng.example.xp;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
import android.widget.TabWidget;
import android.widget.TextView;
import com.umeng.example.R;
import com.umeng.ui.BaseSinglePaneActivity;
import com.umeng.xp.controller.ExchangeDataService;
import com.umeng.xp.view.ExchangeViewManager;
public class TabFragment extends BaseSinglePaneActivity {
@Override
protected Fragment onCreatePane() {
return new TabsFragment();
}
public static class TabsFragment extends Fragment implements OnTabChangeListener {
public static final String TAB_APP = "装机必备";
public static final String TAB_RECOMMENT = "乐视推荐";
public static final String TAB_APP_ID = "40825";
// public static final String TAB_RECOMMENT_ID = "40829";
private View mRoot;
private TabHost mTabHost;
private int mCurrentTab;
private TabWidget mTabWidget;
private Context mContext;
private TextView txtView1;
private TextView txtView2;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mContext = activity;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mRoot = inflater.inflate(R.layout.umeng_example_xp_tabfragment, container, false);
mTabHost = (TabHost) mRoot.findViewById(android.R.id.tabhost);
mTabWidget = (TabWidget) mRoot.findViewById(android.R.id.tabs);
setupTabs();
return mRoot;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setRetainInstance(true);
mTabHost.setOnTabChangedListener(this);
mTabHost.setCurrentTab(mCurrentTab);
ListView l1 = (ListView) mRoot.findViewById(R.id.list_1);
ListView l2 = (ListView) mRoot.findViewById(R.id.list_2);
ViewGroup vg1 = (ViewGroup) mRoot.findViewById(R.id.father1);
ViewGroup vg2 = (ViewGroup) mRoot.findViewById(R.id.father2);
ExchangeDataService exchangeDataService1 = new ExchangeDataService();
exchangeDataService1.slot_id = TAB_APP_ID;
exchangeDataService1.setKeywords(TAB_APP);
new ExchangeViewManager(mContext, exchangeDataService1).addView(vg1, l1);
ExchangeDataService exchangeDataService2 = new ExchangeDataService();
exchangeDataService2.setKeywords(TAB_RECOMMENT);
new ExchangeViewManager(mContext, exchangeDataService2).addView(vg2, l2);
}
private void setupTabs() {
mTabHost.setup(); // must call this before adding tabs!
View view1 = LayoutInflater.from(mContext).inflate(R.layout.umeng_example_tab_indicator, null);
txtView1 = (TextView) view1.findViewById(R.id.umeng_example_tab_text);
txtView1.setBackgroundResource(R.drawable.tab_left);
txtView1.setText(TAB_APP);
View view2 = LayoutInflater.from(mContext).inflate(R.layout.umeng_example_tab_indicator, null);
txtView2 = (TextView) view2.findViewById(R.id.umeng_example_tab_text);
txtView2.setBackgroundResource(R.drawable.tab_right);
txtView2.setText(TAB_RECOMMENT);
mTabHost.addTab(mTabHost.newTabSpec(TAB_APP).setIndicator(view1)
.setContent(R.id.list_1));
mTabHost.addTab(mTabHost.newTabSpec(TAB_RECOMMENT).setIndicator(view2)
.setContent(R.id.list_2));
}
@Override
public void onTabChanged(String tabId) {
if (TAB_APP.equals(tabId)) {
txtView1.setSelected(true);
txtView2.setSelected(false);
return;
}
if (TAB_RECOMMENT.equals(tabId)) {
txtView1.setSelected(false);
txtView2.setSelected(true);
return;
}
}
}
}