2014-01-21 57 views
0

您好我有點登錄問題實際上我試圖通過檢查用戶名從databse和編輯文本值,但其不工作。即將獲得EditTextvalueSQLite用戶名檢查與EditText值

package com.example.employeemanager; 

import android.app.Activity; 
import android.content.Intent; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class Login extends Activity { 

    SQLiteDatabase db; 
    EditText unameedt; 
    String unam; 
    String pass; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.login); 
     Button logbtn = (Button) findViewById(R.id.loginbtn); 
     Button signup = (Button) findViewById(R.id.signup); 
     EditText unameedt = (EditText) findViewById(R.id.editText1); 
     EditText passedt = (EditText) findViewById(R.id.editText2); 
     db = openOrCreateDatabase("Employeemanager", MODE_PRIVATE, null); 
     unam = unameedt.getText().toString(); 
     pass = passedt.getText().toString(); 
     logbtn.setOnClickListener(new OnClickListener() 

     { 

      public void onClick(View v) { 
       Cursor c = db.rawQuery(
         "SELECT username, password from Employee", null); 

       if (c != null) { 

        if (c.moveToFirst()) { 
         do { 
          String uname = c.getString(c 
            .getColumnIndex("username")); 
          String upass = c.getString(c 
            .getColumnIndex("password")); 

          if (uname.equals(unam)) { 
           StartActivity(new Intent(Login.this, Home.class)); 

          } 

         } while (c.moveToNext()); 

        } 

       } 

      } 
     }); 

     signup.setOnClickListener(new OnClickListener() 

     { 

      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(Login.this, Emp_signup.class)); 
      } 

     }); 

    } 

} 

回答

5

把你

unam = unameedt.getText().toString(); 
pass=passedt.getText().toString(); 

到butonClick事件

logbtn.setOnClickListener(new OnClickListener() 

{ 
unam = unameedt.getText().toString(); 
pass=passedt.getText().toString(); 

}); 
0

它很簡單,但看起來像一個大東西,而開始學習Android。你現在做的是你的onCreate

unam = unameedt.getText().toString(); 
    pass = passedt.getText().toString(); 

得到的值,所以,現在unamepassempty因爲同時的onCreate沒有設置相應的EditText值。

OnClick方法,你從EDITTEXT和數據庫

if (uname.equals(unam)) {//if(usernamefromDatabase.equals(emptyValue)) 
     StartActivity(new Intent(Login.this, Home.class)); 
     } 

那是哪裏的問題比較值。

你想現在做的是在的onClick

得到 unampass
unam = unameedt.getText().toString(); 
    pass = passedt.getText().toString(); 

    if (uname.equals(unam)) {//if(usernamefromDatabase.equals(valueyouentered)) 
     StartActivity(new Intent(Login.this, Home.class)); 
     } 

現在應該工作。