Untitled


SUBMITTED BY: Guest

DATE: July 29, 2014, 5:07 p.m.

FORMAT: Text only

SIZE: 8.7 kB

HITS: 9222

  1. public class MainActivity extends ActionBarActivity implements ActionBar.TabListener, UploadFragment.OnFragmentInteractionListener {
  2. SectionsPagerAdapter mSectionsPagerAdapter;
  3. ViewPager mViewPager;
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.activity_main);
  8. // Set up the action bar.
  9. final ActionBar actionBar = getSupportActionBar();
  10. actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
  11. // Create the adapter that will return a fragment for each of the three
  12. // primary sections of the activity.
  13. mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
  14. // Set up the ViewPager with the sections adapter.
  15. mViewPager = (ViewPager) findViewById(R.id.pager);
  16. mViewPager.setAdapter(mSectionsPagerAdapter);
  17. mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
  18. @Override
  19. public void onPageSelected(int position) {
  20. actionBar.setSelectedNavigationItem(position);
  21. }
  22. });
  23. // For each of the sections in the app, add a tab to the action bar.
  24. for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
  25. actionBar.addTab(
  26. actionBar.newTab()
  27. .setText(mSectionsPagerAdapter.getPageTitle(i))
  28. .setTabListener(this));
  29. }
  30. }
  31. public class SectionsPagerAdapter extends FragmentPagerAdapter {
  32. public SectionsPagerAdapter(FragmentManager fm) {
  33. super(fm);
  34. }
  35. @Override
  36. public Fragment getItem(int position) {
  37. // getItem is called to instantiate the fragment for the given page.
  38. // Return a PlaceholderFragment (defined as a static inner class below).
  39. switch (position) {
  40. case 0:
  41. return new ContainerFragment();
  42. case 1:
  43. return null;
  44. }
  45. return null;
  46. }
  47. @Override
  48. public int getCount() {
  49. // Show 2 total pages.
  50. return 2;
  51. }
  52. @Override
  53. public CharSequence getPageTitle(int position) {
  54. Locale l = Locale.getDefault();
  55. switch (position) {
  56. case 0:
  57. return getString(R.string.title_section1).toUpperCase(l);
  58. case 1:
  59. return getString(R.string.title_section2).toUpperCase(l);
  60. }
  61. return null;
  62. }
  63. }
  64. }
  65. public class ContainerFragment extends Fragment {
  66. @Override
  67. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  68. Bundle savedInstanceState) {
  69. /* Inflate the layout for this fragment */
  70. View view = inflater.inflate(R.layout.fragment_main, container, false);
  71. FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
  72. /*
  73. * When this container fragment is created, we fill it with our first
  74. * "real" fragment
  75. */
  76. transaction.replace(R.id.frame, new UploadFragment());
  77. transaction.commit();
  78. return view;
  79. }
  80. }
  81. public class UploadFragment extends Fragment {
  82. /*Handler for the api call*/
  83. private AsyncHttpResponseHandler mConnectionUtil;
  84. @Override
  85. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  86. Bundle savedInstanceState) {
  87. View v = inflater.inflate(R.layout.fragment_upload, container, false);
  88. /*The response handler declaration/definition */
  89. mConnectionUtil = new AsyncHttpResponseHandler() {
  90. @Override
  91. public void onSuccess(int i, Header[] headers, byte[] bytes) {
  92. ResultFragment resultFrag = new ResultFragment();
  93. FragmentTransaction ft = getChildFragmentManager().beginTransaction();
  94. ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
  95. ft.addToBackStack(null);
  96. ft.replace(R.id.frame, resultFrag);
  97. ft.commit();
  98. }
  99. };
  100. /*OnClickListener for the go/upload button*/
  101. mUploadButton.setOnClickListener(new View.OnClickListener() {
  102. @Override
  103. public void onClick(View view) {
  104. /*Post to the api url with the params and the previously defined http request handler*/
  105. AsyncHttpClient client = new AsyncHttpClient();
  106. client.post("http://192.168.43.153:8000/form-submit", params, mConnectionUtil);
  107. }
  108. }
  109. });
  110. // Return fragment view
  111. return v;
  112. }
  113. }
  114. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  115. android:layout_width="fill_parent"
  116. android:layout_height="fill_parent"
  117. android:id="@+id/frame"
  118. >
  119. </FrameLayout>
  120. java.lang.NullPointerException: Attempt to write to field 'android.support.v4.app.FragmentManagerImpl android.support.v4.app.Fragment.mFragmentManager' on a null object reference
  121. at android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord.java:394)
  122. at android.support.v4.app.BackStackRecord.add(BackStackRecord.java:389)
  123. at android.support.v4.app.FragmentPagerAdapter.instantiateItem(FragmentPagerAdapter.java:99)
  124. at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:832)
  125. at android.support.v4.view.ViewPager.populate(ViewPager.java:1048)
  126. at android.support.v4.view.ViewPager.populate(ViewPager.java:914)
  127. at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1436)
  128. at android.view.View.measure(View.java:16514)
  129. at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
  130. at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
  131. at android.view.View.measure(View.java:16514)
  132. at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
  133. at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:327)
  134. at android.view.View.measure(View.java:16514)
  135. at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
  136. at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
  137. at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2939)
  138. at android.view.View.measure(View.java:16514)
  139. at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1912)
  140. at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1109)
  141. at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1291)
  142. at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996)
  143. at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600)
  144. at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
  145. at android.view.Choreographer.doCallbacks(Choreographer.java:574)
  146. at android.view.Choreographer.doFrame(Choreographer.java:544)
  147. at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
  148. at android.os.Handler.handleCallback(Handler.java:733)
  149. at android.os.Handler.dispatchMessage(Handler.java:95)
  150. at android.os.Looper.loop(Looper.java:136)
  151. at android.app.ActivityThread.main(ActivityThread.java:5141)
  152. at java.lang.reflect.Method.invoke(Native Method)
  153. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799)
  154. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615)

comments powered by Disqus