2013-08-20 36 views
0

我正在嘗試爲我的應用進行登錄。問題是當我按下按鈕時,沒有任何反應。我想我擁有一切正確。如果您輸入用戶名字段:「父母」和密碼:「!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方法