2017-10-10 3 views
-2

J'ai une page de connexion, donc pour cela j'utilise SharedPreferences. J'essaie de sauver des valeurs. Sans valeurs, il ne devrait pas aller à l'autre Activity pour que j'ai donné cela à la page de connexion:La condition ne fonctionne pas dans sharedpreferences android

if((spf != null) && (spv !=null) && (et1v != null) && (et2v != null) && (et3v != null) && 

      (sp != null) && (et1 != null) && (et2 != null) && (et3 != null)){ 

      finish(); 
      Intent i = new Intent(Login.this,Welcome.class); 
      startActivity(i); 
    } 
     else{ 
      btn1.setOnClickListener(
        new View.OnClickListener() { 
         @Override 
         public void onClick(View view) { 

          if (sp.getSelectedItem().toString().length() > 0 && 
            et1.getText().toString().length() > 0 && 
            et2.getText().toString().length() > 0 && 
            et3.getText().toString().length() > 0) 

          { 
           SharedPreferences spf = getSharedPreferences("newprfs", Context.MODE_PRIVATE); 
           SharedPreferences.Editor spe = spf.edit(); 
           spe.putString("uname",sp.getSelectedItem().toString()); 
           spe.putString("password",et1.getText().toString()); 
           spe.putString("mobile",et2.getText().toString()); 
           spe.putString("dept",et3.getText().toString()); 

           spe.commit(); 

           finish(); 
           Intent i = new Intent(Login.this,Welcome.class); 
           startActivity(i); 
          } 
         } 
        } 
      ); 
     } 

cette ma page Bienvenue

SharedPreferences spf = getSharedPreferences("newprfs", Context.MODE_PRIVATE); 
     SharedPreferences.Editor spe = spf.edit(); 
     String spv = spf.getString("uname",""); 
     String et1v = spf.getString("password",""); 
     String et2v = spf.getString("mobile",""); 
     String et3v = spf.getString("dept",""); 

     if((spe != null) && (spv !=null) && (et1v != null) && (et2v != null) && (et3v != null) && 
       (sp != null) && (et1 != null) && (et2 != null) && (et3 != null)){ 
     new Handler().postDelayed(new Runnable(){ 
      @Override 
      public void run() { 
        Intent i = new Intent(Welcome.this,MainActivity.class); 
        startActivity(i); 
        Welcome.this.finish(); 
      } 
     }, SPLASH_DISPLAY_LENGTH); 
    } 
     else{ 
      Intent i = new Intent(Welcome.this,Login.class); 
      startActivity(i); 
      Welcome.this.finish(); 
     } 
    }  

Le problème est qu'il montrant toujours un blanc écran. J'ai essayé de vérifier avec Log.d("@@@@@@@@@@@@@@[email protected]@@@@@@@@@@@@@@@"); donc j'ai reconnu à son chargement toujours dans la page de connexion et if condition ne fonctionne pas .. quelqu'un peut me suggérer ce qui est mal dans if Condition..?

Mise à jour ici Son pas un problème partagé Préf .. Mais ici le problème Son état ... avec

Je l'If Condition sans Saisie de valeurs, il ne doit pas passer à ... suivant et également si les valeurs déjà Défini précédemment, il devrait passer à la page suivante ...

Donc, Son déplacement à la page suivante et Dans la page suivante Aussi même Parce que j'ai donné la même condition et encore Son déplacement à la page de connexion à nouveau. Donc, il reste sur la page unique et je reçois écran vide.

+0

vous devez définir sharedpreferences au-dessus de la condition if() –

+0

J'ai déjà défini ce n'est pas un problème..Voici le problème avec Condition Ici, je peux obtenir les détails de connexion J'ai vérifié avec toast mais le problème avec cette condition ... – ravi

+0

J'utilise 'préférence partagée», dans le bouton de la page de connexion ne fonctionne pas après avoir entré tous les détails ... s'il vous plaît toute réponse moi son urgence – ravi

Répondre

0

Vous devez essayer avec contains(String Key)

Essayez cette spv.contains("uname") au lieu de (spv !=null) ou spv.equals("") J'ai aussi fait face à ce problème Mieux vaut utiliser hashmap ... mais cela fonctionne pour votre cas ..

+0

merci ... Cela fonctionne je cherche cette chose seulement – ravi

+0

J'ai déjà répondu à cela dans les commentaires sur 10 Octobre de ma réponse 10 Octobre. Peu importe @ravi mais pas très gentil. – jobbert

+0

C'est bon @jobbert Mais Inst-ed de donner réponse dans Commentaires .. Vous devez mettre à jour votre réponse Et aussi @Ravi est la comparaison de la météo la vallée est là ou non Il doit utiliser 'contient (clé de chaîne) ..' – MLN