Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.69 KB | None | 0 0
  1. E/AndroidRuntime: FATAL EXCEPTION: main
  2. Process: com.itobuz.android.easybmicalculator, PID: 3761
  3. android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 0
  4. at android.database.AbstractCursor.checkPosition(AbstractCursor.java:460)
  5. at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
  6. at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
  7. at com.itobuz.android.easybmicalculator.HomeTabFragment.showUserDetails(HomeTabFragment.java:106)
  8. at com.itobuz.android.easybmicalculator.HomeTabFragment.onViewStateRestored(HomeTabFragment.java:89)
  9. at android.support.v4.app.Fragment.restoreViewState(Fragment.java:481)
  10. at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1135)
  11. at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1290)
  12. at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)
  13. at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1638)
  14. at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:679)
  15. at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
  16. at android.support.v4.view.ViewPager.populate(ViewPager.java:1240)
  17. at android.support.v4.view.ViewPager.populate(ViewPager.java:1088)
  18. at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1614)
  19. at android.view.View.measure(View.java:19734)
  20. at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
  21. at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:668)
  22. at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:735)
  23. at android.view.View.measure(View.java:19734)
  24. at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
  25. at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
  26. at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
  27. at android.view.View.measure(View.java:19734)
  28. at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
  29. at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:389)
  30. at android.view.View.measure(View.java:19734)
  31. at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
  32. at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
  33. at android.view.View.measure(View.java:19734)
  34. at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
  35. at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
  36. at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
  37. at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
  38. at android.view.View.measure(View.java:19734)
  39. at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
  40. at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
  41. at com.android.internal.policy.DecorView.onMeasure(DecorView.java:687)
  42. at android.view.View.measure(View.java:19734)
  43. at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2271)
  44. at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1358)
  45. at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1607)
  46. at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
  47. at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6301)
  48. at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
  49. at android.view.Choreographer.doCallbacks(Choreographer.java:683)
  50. at android.view.Choreographer.doFrame(Choreographer.java:619)
  51. at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
  52. at android.os.Handler.handleCallback(Handler.java:751)
  53. at android.os.Handler.dispatchMessage(Handler.java:95)
  54. at android.os.Looper.loop(Looper.java:154)
  55. at android.app.ActivityThread.main(ActivityThread.java:6077)
  56. at java.lang.reflect.Method.invoke(Native Method)
  57.  
  58. public class MainActivity extends AppCompatActivity {
  59.  
  60. private TabLayout mTabLayout;
  61. private boolean doubleBackToExitPressedOnce = false;
  62.  
  63. private int[] mTabsIcons = {
  64. R.drawable.ic_home_selector,
  65. R.drawable.ic_hostory_selector,
  66. R.drawable.ic_settings_selector
  67. };
  68.  
  69. @Override
  70. protected void onCreate(Bundle savedInstanceState) {
  71. super.onCreate(savedInstanceState);
  72.  
  73. // set content View
  74. setContentView(R.layout.activity_main);
  75.  
  76. // FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
  77. // fab.setOnClickListener(new View.OnClickListener() {
  78. // @Override
  79. // public void onClick(View view) {
  80. // Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
  81. // .setAction("Action", null).show();
  82. // }
  83. // });
  84.  
  85. getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
  86. getSupportActionBar().setCustomView(R.layout.abs_layout);
  87.  
  88.  
  89. // Declare a new thread to do a preference check
  90. Thread t = new Thread(new Runnable() {
  91. @Override
  92. public void run() {
  93. // Initialize SharedPreferences
  94. SharedPreferences getPrefs = PreferenceManager
  95. .getDefaultSharedPreferences(getBaseContext());
  96.  
  97. // Create a new boolean and preference and set it to true
  98. boolean isFirstStart = getPrefs.getBoolean("firstStart", true);
  99.  
  100. // If the activity has never started before...
  101. if (isFirstStart) {
  102.  
  103. // Launch app intro
  104. Intent intro = new Intent(MainActivity.this, IntroActivity.class);
  105. startActivity(intro);
  106.  
  107. // Make a new preferences editor
  108. SharedPreferences.Editor e = getPrefs.edit();
  109.  
  110. // Edit preference to make it false because we don't want this to run again
  111. e.putBoolean("firstStart", false);
  112.  
  113. // Apply changes
  114. e.apply();
  115.  
  116. finish();
  117. }
  118. }
  119. });
  120.  
  121. // Start the thread
  122. t.start();
  123.  
  124. // Intent intent = new Intent(MainActivity.this, IntroActivity.class);
  125. // startActivity(intent);
  126.  
  127. // Setup the viewPager
  128. CustomViewPager viewPager = (CustomViewPager) findViewById(R.id.view_pager);
  129. BmiPagerAdapter pagerAdapter = new BmiPagerAdapter(getSupportFragmentManager());
  130.  
  131. if (viewPager != null) {
  132. viewPager.setPagingEnabled(false);
  133. viewPager.setAdapter(pagerAdapter);
  134. }
  135.  
  136. mTabLayout = (TabLayout) findViewById(R.id.tab_layout);
  137. if (mTabLayout != null) {
  138. mTabLayout.setupWithViewPager(viewPager);
  139.  
  140. for (int i = 0; i < mTabLayout.getTabCount(); i++) {
  141. TabLayout.Tab tab = mTabLayout.getTabAt(i);
  142. if (tab != null)
  143. tab.setCustomView(pagerAdapter.getTabView(i));
  144. }
  145.  
  146. mTabLayout.getTabAt(0).getCustomView().setSelected(true);
  147. }
  148.  
  149. viewPager.setPageTransformer(false, new ViewPager.PageTransformer() {
  150. @Override
  151. public void transformPage(View page, float position) {
  152. final float normalizedposition = Math.abs(Math.abs(position) - 1);
  153. page.setAlpha(normalizedposition);
  154. }
  155. });
  156.  
  157.  
  158. }
  159.  
  160.  
  161.  
  162. @Override
  163. public boolean onOptionsItemSelected(MenuItem item) {
  164.  
  165. switch (item.getItemId()) {
  166.  
  167. case android.R.id.home:
  168.  
  169. Toast.makeText(getApplicationContext(), "Home Clicked",
  170. Toast.LENGTH_LONG).show();
  171.  
  172. // go to previous activity
  173. onBackPressed();
  174.  
  175. return true;
  176.  
  177. }
  178.  
  179. return super.onOptionsItemSelected(item);
  180. }
  181.  
  182.  
  183. @Override
  184. public void onBackPressed() {
  185. if (doubleBackToExitPressedOnce) {
  186. super.onBackPressed();
  187. return;
  188. }
  189.  
  190. this.doubleBackToExitPressedOnce = true;
  191. Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();
  192.  
  193. new Handler().postDelayed(new Runnable() {
  194.  
  195. @Override
  196. public void run() {
  197. doubleBackToExitPressedOnce = false;
  198. }
  199. }, 2000);
  200. }
  201.  
  202.  
  203. /**
  204. * Pager Adapter Class
  205. * @author Debasis
  206. * @since October 22, 2016 2:40 AM
  207. */
  208.  
  209. private class BmiPagerAdapter extends FragmentPagerAdapter {
  210.  
  211. public final int PAGE_COUNT = 3;
  212.  
  213. private final String[] mTabsTitle = {"Home", "History", "Settings"};
  214.  
  215. public BmiPagerAdapter(FragmentManager fm) {
  216. super(fm);
  217. }
  218.  
  219. public View getTabView(int position) {
  220. // Given you have a custom layout in `res/layout/bottom_tab.xml` with a TextView and ImageView
  221. View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.bottom_tab, null);
  222. TextView title = (TextView) view.findViewById(R.id.title);
  223. title.setText(mTabsTitle[position]);
  224. ImageView icon = (ImageView) view.findViewById(R.id.icon);
  225. icon.setImageResource(mTabsIcons[position]);
  226. return view;
  227. }
  228.  
  229. @Override
  230. public Fragment getItem(int pos) {
  231. switch (pos) {
  232.  
  233. case 0:
  234. return HomeTabFragment.newInstance(1);
  235. case 1:
  236. return HistoryTabFragment.newInstance(2);
  237. case 2:
  238. return SettingsTabFragment.newInstance(3);
  239.  
  240. }
  241. return null;
  242. }
  243.  
  244. @Override
  245. public int getCount() {
  246. return PAGE_COUNT;
  247. }
  248.  
  249. @Override
  250. public CharSequence getPageTitle(int position) {
  251. return mTabsTitle[position];
  252. }
  253. }
  254.  
  255.  
  256.  
  257. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement