2013-08-20 12 views
0

Я пытаюсь сделать логин для своего приложения. Проблема в том, что когда я нажимаю кнопку, ничего не происходит. Я думаю, что все правильно. Я сделал это, если вы ввели поле Username: «родители» и пароль: «! Saints» он должен отправить вас на макет объявлений.Простой логин не работает

import android.os.Bundle; 
import android.app.Activity; 
import android.app.NotificationManager; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.ToggleButton; 

public class LoginWorker extends Activity { 

    Button login; 
    EditText user, pass; 
    ToggleButton repass; 
    TextView invail; 

    public boolean savelogin = false; 


    protected void onCreate(Bundle savedInstanceState) { 
     login = (Button) findViewById(R.id.bloginf); 
     user = (EditText) findViewById(R.id.usernametf); 
     pass = (EditText) findViewById(R.id.passwordtf); 
     invail = (TextView) findViewById(R.id.invalidinfo); 
     repass = (ToggleButton) findViewById(R.id.rememberlogintb); 
     login.setOnClickListener(new View.OnClickListener() { 
     String u = user.getText().toString(); 
     String p = pass.getText().toString(); 

      @Override 
      public void onClick(View v) { 
       if(u.equalsIgnoreCase("parents")){ 
        if(p.equals("!saints")){ 
         if(repass.isChecked()){ 
          savelogin = true; 
                setContentView(R.layout.announcements); 
         } 
        }else if(!repass.isChecked()){ 
      savelogin = false; 
      setContentView(R.layout.announcements); 
     } 
    }if(!user.getText().equals("parents")){ 
     invail.setText("Invalid Username and/or Password!"); 
    }if(!pass.getText().equals("!saints")){ 
     invail.setText("Invalid Username and/or Password!"); 
    } 
} 
}); 
} } 

Благодарим вас за внимание!

+0

Я хотел бы добавить System.out (или) отладочные указатели, чтобы убедиться, чего логика терпит неудачу. – kosa

+0

попробуйте отладки и проверьте, не вступил ли он в –

+0

Вы удалили какой-то код? Я не вижу, как вы можете увидеть форму входа. – Henry

ответ

2
login.setOnClickListener(new View.OnClickListener() { 
String u = user.getText().toString(); 
String p = pass.getText().toString(); 

    @Override 
    public void onClick(View v) { 
     if(u.equalsIgnoreCase("parents")){ 
      if(p.equals("!saints")){ 
       if(repass.isChecked()){ 
        savelogin = true; 
        setContentView(R.layout.announcements); 
       } 
      }else if(!repass.isChecked()){ 
    savelogin = false; 
    setContentView(R.layout.announcements); 
} 

должно быть:

login.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 

    String u = user.getText().toString(); 
    String p = pass.getText().toString(); 
     if(u.equalsIgnoreCase("parents")){ 
      if(p.equals("!saints")){ 
       if(repass.isChecked()){ 
        savelogin = true; 
        setContentView(R.layout.announcements); 
       } 
      }else if(!repass.isChecked()){ 
    savelogin = false; 
    setContentView(R.layout.announcements); 
} 
+0

Все еще не работает, когда я нажимаю кнопку входа в систему, он ничего не делает. – ZachtheBoB

1

Вы хранить копию содержимого вашего EditTexts сразу после того, они созданы, прежде, чем что-либо набирается в них, и это то, что вы используете в вашем обработчике кликов. Измените свой onClickListener для чтения непосредственно из EditTexts всякий раз, когда вызывается обработчик кнопки/клика.

0

setContentView(R.layout.announcements);

Эта строка должна быть первой строкой в ​​вашем методе создания.

String u = user.getText().toString(); 
String p = pass.getText().toString(); 



Это две линии должны быть в вашем методе OnClick

Смежные вопросы