我正在尝试在同一页面上创建登录和注册标签。因此,每当我按下登录屏幕上的注册时,它会按预期更改为注册屏幕,注册屏幕也是如此。在注册屏幕上,每次我按下登录选项卡,它也会起作用。但是在登录屏幕上,每次我按下登录时,它都会进入注册屏幕,但我希望它保持在登录屏幕上。奇怪的是,每次按下注册,它都会保留在注册屏幕上。有人可以帮忙吗?任何帮助将不胜感激。
Android课程
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);
}
});
我的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 :(得分:0)
在setOnClickListener
内,为什么你给了setContentView(R.layout.login_screen);
实际上只在onCreate
,setContentView
应该出现。
更好的完整代码将有助于指导。
答案 1 :(得分:0)
尝试使用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);
}
});
和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);
}
});
答案 2 :(得分:0)
您必须在onCreate方法中调用setContentView并执行以下操作:
protected void onCreate(Bundle savedInstanceState){
if(forLoginScreen) {
setContentView(R.layout.login_screen);
}else {
setContentView(R.layout.sign_up_screen);
}
}
答案 3 :(得分:0)
您只需创建两个用于登录的活动,另一个用于注册,在登录活动中您必须提供登录表单,两个按钮用于登录,一个用于注册。 并将登录活动作为启动器活动。单击注册按钮时,只需使用intent
调用注册活动公共类LoginActivity扩展了Activity {
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);
}
});
}
}
并在注册页面中,当您注册时,用户使用intent
成功将其重定向到登录页面Intent i = new Intent(Signup.this,LoginActivity.class); startActivity(ⅰ);
或者您可以将他重定向到其他活动