android - Shared Preferences leading to multiple activities -


i checking whether user has "logged in" using sharedpreferences using inside oncreate. tried doing inside onstart too. problem after "productcategories" visible user, when click button of mobile screen can see multiple productcategories activities have been opened. keep on clicking button few times first activity "mainactivity".

package com.example.pager;  import android.content.intent; import android.content.sharedpreferences; import android.os.bundle; import android.support.v4.app.fragment; import android.support.v4.app.fragmentactivity; import android.support.v4.app.fragmentmanager; import android.support.v4.app.fragmentpageradapter; import android.support.v4.view.pageradapter; import android.support.v4.view.viewpager; import android.view.menu; import android.view.menuitem; import android.view.view;  public class mainactivity extends fragmentactivity {       @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);  }  @override protected void onstart() {     // todo auto-generated method stub     super.onstart();     sharedpreferences sharedpreferences = getsharedpreferences("prefs",mode_private);     if (sharedpreferences != null) {         if (sharedpreferences.getboolean("logged", false)) {             startactivity(new intent(this, productcategories.class));          }     } else {           finish();     } }  public void register(view v) {      intent = new intent(this,signupdetails.class);      startactivity(i);  }  } 

productcatedories.java doesn't contain has show fragment named homepage.class have mentioned in productcategories' xml file. posting homepage's code now:

package com.example.pager;

import android.content.context; import android.content.res.resources; 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.arrayadapter; import android.widget.button; import android.widget.imageview; import android.widget.listview; import android.widget.textview;   public class homepage extends fragment {     public homepage(){}     string[] listitems;     int[] images = {r.drawable.cadburysilk,r.drawable.cadburys_dairymilk,r.drawable.perk,             r.drawable.kitkat,r.drawable.nestlemunchchocolate,r.drawable.cadbury_bournville_bar,             r.drawable.snickers};     listview list;      @override     public view oncreateview(layoutinflater inflater, viewgroup container,             bundle savedinstancestate) {         // todo auto-generated method stub         super.oncreateview(inflater, container, savedinstancestate);          view rootview = inflater.inflate(r.layout.activity_home_page, container, false);         resources res = getresources();         listitems=res.getstringarray(r.array.items);         list = (listview)rootview.findviewbyid(r.id.itemslist);         adapterclass adapterclass = new adapterclass(homepage.this.getactivity(), listitems, images);         list.setadapter(adapterclass);         return rootview;     } }  class adapterclass extends arrayadapter<string> {     context context;     int[] images;     string[] names;     public adapterclass(context c, string[] items,int imgs[] ) {         // todo auto-generated constructor stub         super(c, r.layout.rowlayout, r.id.quantity, items );         this.context = c;         this.images = imgs;         this.names = items;     }      @override     public view getview(int position, view convertview, viewgroup parent) {         // todo auto-generated method stub         layoutinflater inflater = (layoutinflater)context.getsystemservice(context.layout_inflater_service);         view row  = inflater.inflate(r.layout.rowlayout, parent, false);         imageview imageview = (imageview) row.findviewbyid(r.id.img);         textview textview = (textview) row.findviewbyid(r.id.textview1);           imageview.setimageresource(images[position]);         textview.settext(names[position]);         return row;     } } 

you can change productcategories definition task in manifest singletask:

 <activity         android:name=".productcategories"         android:launchmode="singletask"/> 

Comments

Popular posts from this blog

Android : Making Listview full screen -

javascript - Parse JSON from the body of the POST -

javascript - Chrome Extension: Interacting with iframe embedded within popup -