2016-04-01 60 views
1

我正在尝试使用正确的用户名和密码进入另一个活动(已创建)的简单登录页面此外,尝试计数器无法正常工作。对不起,如果这个措辞不好,希望这是有道理的。Android Studio - 登录页面无法正常工作

public class login extends Activity { 

private EditText username; 
private EditText password; 
private Button login; 
private TextView loginLocked; 
private TextView attemptsLeft; 
private TextView numberOfRemainingLoginAttemptsTV; 
int numberOfRemainingLoginAttempts = 3; 

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

public void Login(View view) { 
    if (username.getText().toString().equals("admin") && password.getText().toString().equals("secret")) { 
     Intent i = new Intent(login.this, MainActivity.class); 
     startActivity(i); 
     Toast.makeText(getApplicationContext(), "Welcome User", 
       Toast.LENGTH_SHORT).show(); 

    } else { 
     Toast.makeText(getApplicationContext(), "Wrong Credentials", 
       Toast.LENGTH_SHORT).show(); 
     numberOfRemainingLoginAttempts--; 
     attemptsLeft.setVisibility(View.VISIBLE); 
     numberOfRemainingLoginAttemptsTV.setVisibility(View.VISIBLE); 
     numberOfRemainingLoginAttemptsTV.setText(Integer.toString(numberOfRemainingLoginAttempts)); 

     if (numberOfRemainingLoginAttempts == 0) { 
      login.setEnabled(false); 
      loginLocked.setVisibility(View.VISIBLE); 
      loginLocked.setBackgroundColor(Color.RED); 
      loginLocked.setText("Please Try Again Later"); 
     } 
    } 
} 

private void setupVariables() { 
    username = (EditText) findViewById(R.id.username); 
    password = (EditText) findViewById(R.id.password); 
    login = (Button) findViewById(R.id.button); 
    loginLocked = (TextView) findViewById(R.id.loginLocked); 
    attemptsLeft = (TextView) findViewById(R.id.attemptsLeft); 
    numberOfRemainingLoginAttemptsTV = (TextView) findViewById(R.id.numberOfRemainingLoginAttemptsTV); 
    numberOfRemainingLoginAttemptsTV.setText(Integer.toString(numberOfRemainingLoginAttempts)); 
} 
} 
+0

“不工作”不说什么不顺心事情与您的代码。请改善描述,指出你的期望和发生的事情。 – Egor

回答

-1

当您使用startActivity()你必须使用它的情况下(并非总是如此。只有在一定的条件,但我认为这是一个很好的做法,声明它的上下文)。所以改变startActivity(i)login.this.startActivity(i);

希望这应该让它运行。 希望它有帮助!

编辑:请发布您的布局文件以及。而在你的公共无效登录添加此

记住:把它直接在虚空中,而不是在if声明

Log.i("LOGIN DETAILS","Username: "+username.getText().toString()+"Password: "+password.getText().toString()); 

然后发布与信息过滤日志的猫。

如果不能如此,日志猫好,你可以在你的公共无效的登录界面,在if语句来代替添加此行代码不

Toast.makeText(login.this, "Username: "+ username.getText().toString() + "password: " + password.getText().toString(), Toast.LENGTH_LONG).show(); 
+0

试过,'login.this startActivity(i);'有一个 ';'预计在.this后 – DeeMoMo

+0

对不起''login.this.startActivity(i);'自动更正对不起 –

+0

没问题!当我输入正确的细节并按下按钮时,Nope仍然没有任何操作。 @KISHORE_ZE – DeeMoMo