在android studio中开始相同的acticity

时间:2018-04-12 09:17:15

标签: android firebase-realtime-database

我在android studio中创建了一个应用程序,我有一个java文件名Login.java。我在其中检查过用户输入的特定mpin是否存在于firebase实时数据库中。

现在我想要在else循环中mpin不存在然后它应该保留在Login活动上。

如何做到这一点?

public class Login extends AppCompatActivity {

String enteredmPINString;
EditText enteredmPin;
DatabaseReference rootref;

String contactfromPhoneLogin;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);


    Button mLoginSubmit;
    mLoginSubmit = (Button) findViewById(R.id.loginSubmit);

    Bundle b = getIntent().getExtras();
    if(b!=null){
        contactfromPhoneLogin = b.getString("contacttoLogin");
        Log.d("abcd",contactfromPhoneLogin);
    }

    rootref= FirebaseDatabase.getInstance().getReference("Employees").child(contactfromPhoneLogin).child("empmpin");

    Log.d("abcd","Database reference reached");

  //  enteredmPin = (EditText) findViewById(R.id.editTextmPIN);
   // enteredmPINString = enteredmPin.getText().toString();


    View.OnClickListener submitListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            enteredmPin = (EditText) findViewById(R.id.editTextmPIN);
            enteredmPINString = enteredmPin.getText().toString();
            Log.d("abcd",enteredmPINString);
            final Intent loginIntent = new Intent(Login.this,NavigationDrawer.class);
            loginIntent.putExtra ("mPINtoNavigation",enteredmPINString);
            Log.d("abcd","Login.java sending"+enteredmPINString);
            startActivity(loginIntent);


            rootref.addListenerForSingleValueEvent(new ValueEventListener() {

                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    Log.d("abcd","onDatachange reached");
                    Log.d("abcd",enteredmPINString);
                    if(dataSnapshot.child(enteredmPINString).exists()){
                        Log.d("abcd","mpin exists");
                        Intent loginIntent = new Intent(Login.this,NavigationDrawer.class);
                        loginIntent.putExtra ("mPINtoNavigation",enteredmPINString);
                        Log.d("abcd","Login.java sending"+enteredmPINString);
                        startActivity(loginIntent);
                    }
                    else{

                        Toast.makeText(Login.this,"Invalid mPIN!",Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });

        }
    };
    mLoginSubmit.setOnClickListener(submitListener);
}

public void erp_site(View view){
    Intent erpIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://web.nbccho.com/erp/"));
    startActivity(erpIntent);
}

public void nbcc_site(View view){
    Intent nbcc_siteIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.nbccindia.com/nbccindia/index.jsp"));
    startActivity(nbcc_siteIntent);
}
}

1 个答案:

答案 0 :(得分:0)

删除onClick();

中的意图
    View.OnClickListener submitListener = new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        enteredmPin = (EditText) findViewById(R.id.editTextmPIN);
        enteredmPINString = enteredmPin.getText().toString();
        Log.d("abcd",enteredmPINString);
        Log.d("abcd","Login.java sending"+enteredmPINString);