2017-07-06 2 views
-3

Ich versuche, Login und Registrierung Registerkarte auf der gleichen Seite zu erstellen. Jedes Mal, wenn ich auf dem Anmeldebildschirm auf "Anmelden" klicke, wird der Anmeldebildschirm wie erwartet angezeigt. Dies gilt auch für den Anmeldebildschirm. Auf dem Anmeldebildschirm, jedes Mal wenn ich den Login-Tab drücke, funktioniert es auch. Aber auf dem Login-Bildschirm, jedes Mal, wenn ich auf Login drücke, geht es zum Anmeldebildschirm, aber ich möchte, dass es auf dem Anmeldebildschirm bleibt. Das komische daran ist, dass ich jedes Mal, wenn ich die Anmeldung drücke, auf dem Anmeldebildschirm bleibt. Kann jemand helfen? jede Hilfe würde geschätzt werden.Login und Registrierung Registerkarte funktioniert nicht xml

Android Klassen

SignUpScreen.java

final Intent i = new Intent(SignUpScreen.this, LoginScreen.class); 
    TextView b = (TextView) findViewById(R.id.text1); 

    b.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View arg0) { 

      setContentView(R.layout.login_screen); 
      SignUpScreen.this.startActivity(i); 
     } 
    }); 

mein LoginScreen.java

final Intent i = new Intent(LoginScreen.this,SignUpScreen.class); 
    TextView c = (TextView) findViewById(R.id.text4); 

    c.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View arg0) { 

      setContentView(R.layout.sign_up_screen); 
      LoginScreen.this.startActivity(i); 
     } 
    }); 
+0

Ihren vollständigen Code zeigen –

+0

können Sie Ihre vollständigen Code für ein besseres Verständnis teilen ?? – sumit

+1

Das ist absolut falsch. 'setContentView()' sollte in 'onCreate()' aufgerufen werden, während die Ansicht Ihrer Aktivität initialisiert wird. Sie können 'onClickListener' nicht aufrufen. Versuchen Sie besser mit Aktivität oder Fragment, – tahsinRupam

Antwort

0

Sie müssen nur zwei Aktivitäten erstellen, eine für die Anmeldung und eine weitere für die Anmeldung, bei der Anmeldeaktivität, die Sie geben müssen Anmeldeformular und zwei Schaltflächen für Login und Eins für Anmeldung. und machen Sie die Login-Aktivität als Ihre Launcher-Aktivität. auf, klicken Sie einfach die Anmeldetaste

Absicht mithilfe der Anmeldungen Aktivität rufen

public class LoginActivity Aktivität erstreckt {

private EditText mEmail; 
private EditText mPassword; 

Button btn_login,btn_signup; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 


    btn_login.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

       uid = mEmailView.getText().toString(); 
       pwd = mPasswordView.getText().toString(); 

       if(uid.equalsIgnoreCase("")){ 
        mEmailView.setError("Please enter user id"); 
       }else if(pwd.equalsIgnoreCase("")){ 
        mPasswordView.setError("Please enter password"); 
       }else { 
        //do whaterver you want to do after login 
       } 

     } 
    }); 

      btn_signup.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        Intent i=new Intent(LoginActivity.this,Signup.class); 
        startActivity(i); 
     } 
    }); 
} 

}

und in Anmelden Seite, wenn Sie den Benutzer erfolgreich umleiten ihn auf die Login-signup Seite mit Absicht

Absicht i = neue Absicht (Signup.this, LoginActivity.class); startAktivität (i);

oder Sie können ihn in die andere Aktivität umleiten

0

Innen setOnClickListener, warum Sie setContentView(R.layout.login_screen); Eigentlich in onCreate nur gegeben haben, sollten setContentView vorhanden sein.

Besser wird Ihr vollständiger Code helfen, zu führen.

+0

Sie sollten diese Art von Vorschlag kommentieren, da dies keine Antwort ist und Sie genug Ruf haben, um zu kommentieren. – sumit

0

try oben Code für SignUpScreen.java

TextView b = (TextView) findViewById(R.id.text1); 

b.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View arg0) { 
     Intent i = new Intent(SignUpScreen.this, LoginScreen.class); 
     startActivity(i); 
    } 
}); 

und für LoginScreen.java

TextView c = (TextView) findViewById(R.id.text4); 

c.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View arg0) { 

     Intent i = new Intent(LoginScreen.this,SignUpScreen.class); 
     startActivity(i); 
    } 
}); 
0

Sie müssen setContentView in onCreate Methode aufrufen und so etwas tun:

protected void onCreate(Bundle savedInstanceState){ 

    if(forLoginScreen) { 
    setContentView(R.layout.login_screen); 
    }else { 
    setContentView(R.layout.sign_up_screen); 
    } 

} 
Verwandte Themen