2016-04-01 12 views
1

正しいユーザー名とパスワードで別のアクティビティ(既に作成済み)に移動する簡単なログインページを作成しようとしています。また、試行カウンタが正しく機能していません。申し訳ありませんが、この言葉が不十分であれば、うまくいけば意味があります。Androidスタジオ - ログインページが機能しない

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);

うまくいけば、それを実行する必要があります。 お手伝い願います!

編集:plsもレイアウトファイルを投稿します。そして、あなたの公共のボイドのログインに追加この

覚えている:そして、情報フィルタを使用して、ログの猫を投稿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);' 〜を得た ';'この後に期待されています。この – DeeMoMo

+0

申し訳ありませんログインしています。このアクティビティ(i); 'Autocorrect sorry –

+0

問題ありません!正しい詳細を入力してボタンを押すと、Nopeは何もしません。 @KISHORE_ZE – DeeMoMo

関連する問題