Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- E/AndroidRuntime: FATAL EXCEPTION: main
- Process: com.itobuz.android.easybmicalculator, PID: 3761
- android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 0
- at android.database.AbstractCursor.checkPosition(AbstractCursor.java:460)
- at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
- at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
- at com.itobuz.android.easybmicalculator.HomeTabFragment.showUserDetails(HomeTabFragment.java:106)
- at com.itobuz.android.easybmicalculator.HomeTabFragment.onViewStateRestored(HomeTabFragment.java:89)
- at android.support.v4.app.Fragment.restoreViewState(Fragment.java:481)
- at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1135)
- at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1290)
- at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)
- at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1638)
- at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:679)
- at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
- at android.support.v4.view.ViewPager.populate(ViewPager.java:1240)
- at android.support.v4.view.ViewPager.populate(ViewPager.java:1088)
- at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1614)
- at android.view.View.measure(View.java:19734)
- at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
- at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:668)
- at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:735)
- at android.view.View.measure(View.java:19734)
- at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
- at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
- at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
- at android.view.View.measure(View.java:19734)
- at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
- at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:389)
- at android.view.View.measure(View.java:19734)
- at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
- at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
- at android.view.View.measure(View.java:19734)
- at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
- at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
- at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
- at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
- at android.view.View.measure(View.java:19734)
- at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120)
- at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
- at com.android.internal.policy.DecorView.onMeasure(DecorView.java:687)
- at android.view.View.measure(View.java:19734)
- at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2271)
- at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1358)
- at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1607)
- at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
- at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6301)
- at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
- at android.view.Choreographer.doCallbacks(Choreographer.java:683)
- at android.view.Choreographer.doFrame(Choreographer.java:619)
- at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
- at android.os.Handler.handleCallback(Handler.java:751)
- at android.os.Handler.dispatchMessage(Handler.java:95)
- at android.os.Looper.loop(Looper.java:154)
- at android.app.ActivityThread.main(ActivityThread.java:6077)
- at java.lang.reflect.Method.invoke(Native Method)
- public class MainActivity extends AppCompatActivity {
- private TabLayout mTabLayout;
- private boolean doubleBackToExitPressedOnce = false;
- private int[] mTabsIcons = {
- R.drawable.ic_home_selector,
- R.drawable.ic_hostory_selector,
- R.drawable.ic_settings_selector
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // set content View
- setContentView(R.layout.activity_main);
- // FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
- // fab.setOnClickListener(new View.OnClickListener() {
- // @Override
- // public void onClick(View view) {
- // Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
- // .setAction("Action", null).show();
- // }
- // });
- getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
- getSupportActionBar().setCustomView(R.layout.abs_layout);
- // Declare a new thread to do a preference check
- Thread t = new Thread(new Runnable() {
- @Override
- public void run() {
- // Initialize SharedPreferences
- SharedPreferences getPrefs = PreferenceManager
- .getDefaultSharedPreferences(getBaseContext());
- // Create a new boolean and preference and set it to true
- boolean isFirstStart = getPrefs.getBoolean("firstStart", true);
- // If the activity has never started before...
- if (isFirstStart) {
- // Launch app intro
- Intent intro = new Intent(MainActivity.this, IntroActivity.class);
- startActivity(intro);
- // Make a new preferences editor
- SharedPreferences.Editor e = getPrefs.edit();
- // Edit preference to make it false because we don't want this to run again
- e.putBoolean("firstStart", false);
- // Apply changes
- e.apply();
- finish();
- }
- }
- });
- // Start the thread
- t.start();
- // Intent intent = new Intent(MainActivity.this, IntroActivity.class);
- // startActivity(intent);
- // Setup the viewPager
- CustomViewPager viewPager = (CustomViewPager) findViewById(R.id.view_pager);
- BmiPagerAdapter pagerAdapter = new BmiPagerAdapter(getSupportFragmentManager());
- if (viewPager != null) {
- viewPager.setPagingEnabled(false);
- viewPager.setAdapter(pagerAdapter);
- }
- mTabLayout = (TabLayout) findViewById(R.id.tab_layout);
- if (mTabLayout != null) {
- mTabLayout.setupWithViewPager(viewPager);
- for (int i = 0; i < mTabLayout.getTabCount(); i++) {
- TabLayout.Tab tab = mTabLayout.getTabAt(i);
- if (tab != null)
- tab.setCustomView(pagerAdapter.getTabView(i));
- }
- mTabLayout.getTabAt(0).getCustomView().setSelected(true);
- }
- viewPager.setPageTransformer(false, new ViewPager.PageTransformer() {
- @Override
- public void transformPage(View page, float position) {
- final float normalizedposition = Math.abs(Math.abs(position) - 1);
- page.setAlpha(normalizedposition);
- }
- });
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- Toast.makeText(getApplicationContext(), "Home Clicked",
- Toast.LENGTH_LONG).show();
- // go to previous activity
- onBackPressed();
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- @Override
- public void onBackPressed() {
- if (doubleBackToExitPressedOnce) {
- super.onBackPressed();
- return;
- }
- this.doubleBackToExitPressedOnce = true;
- Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();
- new Handler().postDelayed(new Runnable() {
- @Override
- public void run() {
- doubleBackToExitPressedOnce = false;
- }
- }, 2000);
- }
- /**
- * Pager Adapter Class
- * @author Debasis
- * @since October 22, 2016 2:40 AM
- */
- private class BmiPagerAdapter extends FragmentPagerAdapter {
- public final int PAGE_COUNT = 3;
- private final String[] mTabsTitle = {"Home", "History", "Settings"};
- public BmiPagerAdapter(FragmentManager fm) {
- super(fm);
- }
- public View getTabView(int position) {
- // Given you have a custom layout in `res/layout/bottom_tab.xml` with a TextView and ImageView
- View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.bottom_tab, null);
- TextView title = (TextView) view.findViewById(R.id.title);
- title.setText(mTabsTitle[position]);
- ImageView icon = (ImageView) view.findViewById(R.id.icon);
- icon.setImageResource(mTabsIcons[position]);
- return view;
- }
- @Override
- public Fragment getItem(int pos) {
- switch (pos) {
- case 0:
- return HomeTabFragment.newInstance(1);
- case 1:
- return HistoryTabFragment.newInstance(2);
- case 2:
- return SettingsTabFragment.newInstance(3);
- }
- return null;
- }
- @Override
- public int getCount() {
- return PAGE_COUNT;
- }
- @Override
- public CharSequence getPageTitle(int position) {
- return mTabsTitle[position];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement