2017-02-16 41 views
-2

我需要創建一個具有註冊活動的登錄頁面。 在註冊活動我有Submit我需要接收用戶名,密碼和密碼驗證。onClick提交崩潰android

每當我按下「提交」按鈕,應用程序就會崩潰。

任何想法爲什麼?

public class RegActivity extends AppCompatActivity{ 

    EditText rName; 
    EditText rPassword; 
    EditText sPassword; 
    String name; 
    String pass; 
    String secPass; 
    SharedPreferences prefs; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Intent intent = getIntent(); 
     setContentView(R.layout.register_activity); 
     rName = (EditText)findViewById(R.id.regName); 
     rPassword = (EditText)findViewById(R.id.regPass); 
     sPassword = (EditText)findViewById(R.id.regPass2); 
     name = ((EditText)rName).getText().toString(); 
     pass = ((EditText)rPassword).getText().toString(); 
     secPass = ((EditText)sPassword).getText().toString(); 
    } 

    public void submit(View v){ 
     if (rPassword.getText().equals(sPassword.getText().toString())) { 
      Toast.makeText(this, "Passwords don't match!", Toast.LENGTH_LONG).show(); 
      rName.setText(""); 
      rPassword.setText(""); 
      sPassword.setText(""); 
     } 
     else { 
      User nUser = new User (name, pass); 
      saveUser(nUser); 
      prefs = getSharedPreferences("usersData", MODE_PRIVATE); 
      Intent i = new Intent(RegActivity.this, UserActivity.class).putExtra("userName", nUser.getName().toString()); 
     } 
    } 

錯誤我接收: E/AndroidRuntime:致命異常:主要過程:com.example.baseproject,PID:20125 java.lang.IllegalStateException:無法機器人執行方法:的onClick

+2

可以請你告訴你的日誌 –

+0

我這是什麼是真正重要的: E/AndroidRuntime:致命異常:主要 過程:com.example.baseproject,PID:20125 java.lang.IllegalStateException:無法執行方法android:onClick – Itay

+0

@Itay plesae附上你的佈局文件laso –

回答

1

試試下面的代碼

if (rPassword.getText().toString().equals(sPassword.getText().toString())) { 

的getText()返回CharSequence的,你用字符串比較的CharSequence因此替換它。它應該工作。

但我不明白爲什麼你檢查與rPassword rPassword都相同。

+0

他正在與sPassword進行比較;) – Isabelle

+0

我實際上檢查rPassword是否等於sPassword以便進行密碼驗證 – Itay

+0

當我鍵入不匹配密碼時,應用程序會壓縮,當我鍵入匹配的密碼時,它會將其識別爲un-匹配密碼 – Itay

0

有可能是在XML錯誤.. 試試這個

<Button 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:onClick="submit" 
/> 

你可以嘗試刪除所有代碼的方法,並檢查它,如果這個工程。