Guest User

Untitled

a guest
Sep 1st, 2015
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.83 KB | None | 0 0
  1. package com.example.nepalicalendar;
  2.  
  3. import java.io.ByteArrayInputStream;
  4. import java.io.ByteArrayOutputStream;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.io.InputStream;
  8. import java.net.HttpURLConnection;
  9. import java.net.URL;
  10. import java.text.SimpleDateFormat;
  11. import java.util.ArrayList;
  12. import java.util.Date;
  13. import java.util.List;
  14. import com.example.nepalicalendar.R;
  15. import com.example.nepalicalendar.ExchangeRate;
  16. import com.example.nepalicalendar.MainActivity;
  17. import com.example.nepalicalendar.XMLPullParserHandler;
  18. import android.support.v4.app.Fragment;
  19. import android.support.v4.app.FragmentActivity;
  20. import android.support.v4.app.FragmentStatePagerAdapter;
  21. import android.support.v4.view.ViewPager;
  22. import android.app.Activity;
  23. import android.app.ProgressDialog;
  24. import android.content.Context;
  25. import android.content.SharedPreferences;
  26. import android.net.ConnectivityManager;
  27. import android.net.NetworkInfo;
  28. import android.os.AsyncTask;
  29. import android.os.Bundle;
  30. import android.view.LayoutInflater;
  31. import android.view.View;
  32. import android.view.ViewGroup;
  33. import android.widget.ArrayAdapter;
  34. import android.widget.EditText;
  35. import android.widget.ListView;
  36. import android.widget.Spinner;
  37. import android.widget.TabHost;
  38. import android.widget.TabWidget;
  39. import android.widget.TextView;
  40. import android.widget.Toast;
  41. import android.widget.TabHost.TabContentFactory;
  42.  
  43. /**
  44. * A placeholder fragment containing a simple view.
  45. */
  46. public class FragmentLoadshedding extends Fragment {
  47. /**
  48. * The fragment argument representing the section number for this
  49. * fragment.
  50. */
  51.  
  52. private static final String ARG_SECTION_NUMBER = "section_number";
  53. View rootView;
  54.  
  55. TabHost mTabHost;
  56. TabsAdapter mTabsAdapter;
  57. ViewPager mViewPager;
  58.  
  59.  
  60.  
  61. /**
  62. * Returns a new instance of this fragment for the given section number.
  63. */
  64. public static FragmentLoadshedding newInstance(int sectionNumber) {
  65. FragmentLoadshedding fragment = new FragmentLoadshedding();
  66. Bundle args = new Bundle();
  67. args.putInt(ARG_SECTION_NUMBER, sectionNumber);
  68. fragment.setArguments(args);
  69. return fragment;
  70. }
  71.  
  72. public FragmentLoadshedding() {
  73. }
  74.  
  75. @Override
  76. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  77. Bundle savedInstanceState) {
  78. rootView = inflater.inflate(R.layout.loadshedding, container,
  79. false);
  80.  
  81. mViewPager = (ViewPager) rootView.findViewById(R.id.pager);
  82.  
  83. mTabHost = (TabHost) rootView.findViewById(android.R.id.tabhost);
  84. mTabHost.setup();
  85.  
  86. mTabsAdapter = new TabsAdapter(getActivity(), mTabHost, mViewPager);
  87.  
  88. Bundle arg1 = new Bundle();
  89. arg1.putString("yearMonth", "201508");
  90. setupTab(mTabsAdapter, new TextView(getActivity()), "1", group1.class, arg1);
  91. setupTab(mTabsAdapter, new TextView(getActivity()), "2", group1.class, arg1);
  92. setupTab(mTabsAdapter, new TextView(getActivity()), "3", group1.class, arg1);
  93. setupTab(mTabsAdapter, new TextView(getActivity()), "4", group1.class, arg1);
  94. setupTab(mTabsAdapter, new TextView(getActivity()), "5", group1.class, arg1);
  95. setupTab(mTabsAdapter, new TextView(getActivity()), "6", group1.class, arg1);
  96. setupTab(mTabsAdapter, new TextView(getActivity()), "7", group1.class, arg1);
  97.  
  98. mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
  99.  
  100.  
  101.  
  102. return rootView;
  103.  
  104.  
  105.  
  106. }
  107.  
  108.  
  109.  
  110. private void setupTab(final TabsAdapter adapter, final View view,
  111. final String tag, Class<?> cls, Bundle args) {
  112. View tabview = createTabView(mTabHost.getContext(), tag);
  113.  
  114. adapter.addTab(mTabHost.newTabSpec(tag).setIndicator(tabview)
  115. .setContent(new TabContentFactory() {
  116. public View createTabContent(String tag) {
  117. return view;
  118. }
  119. }), cls, args);
  120. }
  121.  
  122. private static View createTabView(final Context context, final String text) {
  123. View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
  124. TextView tv = (TextView) view.findViewById(R.id.tabsText);
  125. tv.setText(text);
  126. return view;
  127. }
  128.  
  129.  
  130.  
  131. @Override
  132. public void onAttach(Activity activity) {
  133. super.onAttach(activity);
  134. ((MainActivity) activity).onSectionAttached(getArguments().getInt(
  135. ARG_SECTION_NUMBER));
  136. }
  137.  
  138. //Tab class starts
  139. public static class TabsAdapter extends FragmentStatePagerAdapter implements TabHost.OnTabChangeListener, ViewPager.OnPageChangeListener
  140. {
  141. private final Context mContext;
  142. private final TabHost mTabHost;
  143. private final ViewPager mViewPager;
  144. private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();
  145.  
  146. static final class TabInfo
  147. {
  148. private final String tag;
  149. private final Class<?> clss;
  150. private final Bundle args;
  151.  
  152. TabInfo(String _tag, Class<?> _class, Bundle _args)
  153. {
  154. tag = _tag;
  155. clss = _class;
  156. args = _args;
  157. }
  158. }
  159.  
  160. static class DummyTabFactory implements TabHost.TabContentFactory
  161. {
  162. private final Context mContext;
  163.  
  164. public DummyTabFactory(Context context)
  165. {
  166. mContext = context;
  167. }
  168.  
  169. public View createTabContent(String tag)
  170. {
  171. View v = new View(mContext);
  172. v.setMinimumWidth(0);
  173. v.setMinimumHeight(0);
  174. return v;
  175. }
  176. }
  177.  
  178. public TabsAdapter(FragmentActivity activity, TabHost tabHost, ViewPager pager)
  179. {
  180. super(activity.getSupportFragmentManager());
  181. mContext = activity;
  182. mTabHost = tabHost;
  183. mViewPager = pager;
  184. mTabHost.setOnTabChangedListener(this);
  185. mViewPager.setAdapter(this);
  186. mViewPager.setOnPageChangeListener(this);
  187. }
  188.  
  189. public void addTab(TabHost.TabSpec tabSpec, Class<?> clss, Bundle args)
  190. {
  191. tabSpec.setContent(new DummyTabFactory(mContext));
  192. String tag = tabSpec.getTag();
  193.  
  194. TabInfo info = new TabInfo(tag, clss, args);
  195. mTabs.add(info);
  196. mTabHost.addTab(tabSpec);
  197. notifyDataSetChanged();
  198. }
  199.  
  200. @Override
  201. public int getCount()
  202. {
  203. return mTabs.size();
  204. }
  205.  
  206. @Override
  207. public Fragment getItem(int position)
  208. {
  209. TabInfo info = mTabs.get(position);
  210.  
  211. return Fragment.instantiate(mContext, info.clss.getName(), info.args);
  212.  
  213. }
  214.  
  215. public void onTabChanged(String tabId)
  216. {
  217. int position = mTabHost.getCurrentTab();
  218. mViewPager.setCurrentItem(position);
  219. }
  220.  
  221. public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
  222. {
  223. }
  224.  
  225. public void onPageSelected(int position)
  226. {
  227. // Unfortunately when TabHost changes the current tab, it kindly
  228. // also takes care of putting focus on it when not in touch mode.
  229. // The jerk.
  230. // This hack tries to prevent this from pulling focus out of our
  231. // ViewPager.
  232. TabWidget widget = mTabHost.getTabWidget();
  233. int oldFocusability = widget.getDescendantFocusability();
  234. widget.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
  235. mTabHost.setCurrentTab(position);
  236. widget.setDescendantFocusability(oldFocusability);
  237. }
  238.  
  239. public void onPageScrollStateChanged(int state)
  240. {
  241. }
  242. }
  243.  
  244. //tab class ends
  245. }//main class end
Add Comment
Please, Sign In to add comment