2016-06-24 5 views
0

In meiner Aktivität habe ich eine Hauptschaltfläche, eine Textbox und eine Schaltfläche zum Speichern, zum ersten Mal möchte ich, wenn Benutzer auf Hauptschaltfläche klicken, dann nicht in einer anderen Aktivität umleiten und Eingabe bitten in Textfeld dann wenn Benutzer Texteingabe in Textfeld, dann speichern Benutzereingaben nach dem Klicken auf Speichern Schaltfläche und wieder Benutzer nur auf Haupttaste klicken, dann starten Sie eine andere Aktivität. Wenn die Bedingung nicht richtig in gemeinsamen Einstellungen funktioniert

mainbtn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       SharedPreferences sf = getSharedPreferences("userInput", Context.MODE_PRIVATE); 
       final String i = sf.getString("FirstInput", ""); 
       if (et1.getText().toString().trim().length()>0 && et1.getText().toString().trim().equalsIgnoreCase(i)) { 

        Intent intent = new Intent(getApplicationContext(), WebViewOne.class); 
        startActivity(intent); 
       } else { 
        Toast.makeText(getApplicationContext(), "No Registered", Toast.LENGTH_LONG).show(); 
       } 

      } 
     }); 

save.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      strInput1 = et1.getText().toString(); 
      if (strInput1.equals("string")) { 
       SharedPreferences sf = getSharedPreferences("userInput", Context.MODE_PRIVATE); 
       SharedPreferences.Editor editor = sf.edit(); 
       editor.putString("FirstInput", et1.getText().toString()); 
       editor.apply(); 
       Toast.makeText(getApplicationContext(), "Your input is Saved", Toast.LENGTH_SHORT).show(); 
      } else 
       Toast.makeText(getApplicationContext(), "Your input is not matching", Toast.LENGTH_LONG).show(); 
     } 
    }); 
+0

bitte stellen Sie sicher, die Frage klar .. – saikrupa

+0

A fter login Aktivität, diese Aktivität läuft und in diesem habe ich ein Textfeld, eine Schaltfläche zum Speichern und diese Schaltfläche "btn1" aber nach dem Beenden funktioniert es nicht mehr Benutzereingabe fragen ... –

+0

Eigentlich funktioniert es gut, aber Beenden von Application its erneut darum gebeten, Benutzereingaben zu geben, warum? –

Antwort

0
if (et1.getText.toString.trim()!=null && et1.getText().toString().trim().length()>0 && et1.getText().toString().trim().equalsIgnoreCase(i)) 

bitte auch null Zustand überprüfen

+0

canot auflösen Symbol getText in ersten ... –

+0

Entschuldigung setzen Sie die et1.getText(). Tostring – Chetna

+0

wo ich setzen plz geben Lösung klar –

0
when user login successful at that time you can save login status 

SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, 0); 
settings = ctx.getSharedPreferences(PREFS_NAME, 0); 
SharedPreferences.Editor editor = settings.edit(); 
editor.putBoolean("isLogin", true); 
editor.commit(); 

after when user comes the app, at time 
boolean isAlreayLogin= settings.getBoolean("isLonin",false); 

if(isAlreayLogin) 
    //then you have to start login activity manually without any input 
+0

Ich mache so wie, aber leider App hat gekrönt bedeutet, es funktioniert nicht richtig ... wo Ich muss PLZ-Code im Detail setzen und Informationen geben, um oben genannten Verweis zu sehen ... –

+0

Kann es mit OnResume-Methode arbeiten? –

+0

Ihr Code ist nicht in der richtigen Weise möchten Sie ändern? –

0

Dieser Code funktioniert nur, wenn Sie die Taste drücken. Also, wenn Sie die App schließen und erneut öffnen, wird es nichts anderes tun, als das Formular erneut anzuzeigen.

Ich denke, Mayne Sie denselben Code in onCreate oder in onResume implementieren müssen:

  1. erhalten letzte Benutzer angemeldet
  2. erhalten sharedPrefs und überprüfen Benutzer
  3. , ob der Benutzer auf OK -> open Absicht
  4. sonst, wenn der Benutzer falsch ist -> show Login-Formular (nichts tun)
+0

Ich mache so etwas wie onResume, aber es funktioniert nicht richtig –

+0

Könnten Sie Ihr Problem mit den neuen Änderungen erneut erklären? Nur so können wir Ihnen helfen. – adalPaRi