2017-05-14 43 views
0

我创建一个应用程序,其中有三个选项卡activity.In标签三我有一个TextView名登录的文字,只要在这个文本用户点击一个新的活动应该被打开,但应用程序当我们点击这个时崩溃。 我已经做了许多研究,以解决这个问题,但我无法在最后,我在这里为我的问题的解决,请帮忙解决。 在此先感谢。 这是我的loginActivity。应用上点击TextView的片段中崩溃

import android.app.ProgressDialog; 
import android.content.Intent; 
import android.support.annotation.NonNull; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.text.TextUtils; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 

import com.google.android.gms.tasks.OnCompleteListener; 
import com.google.android.gms.tasks.Task; 
import com.google.firebase.auth.AuthResult; 
import com.google.firebase.auth.FirebaseAuth; 

public class loginActivity extends AppCompatActivity implements View.OnClickListener { 
    private EditText email_Id; 
    private EditText password; 
    private TextView sign_Up; 
    private Button sign_In; 
    private ProgressDialog progressDialog; 
    private FirebaseAuth firebaseAuth; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 
     firebaseAuth=FirebaseAuth.getInstance(); 
    // if(firebaseAuth.getCurrentUser()!=null){ 
      // directly start user profile activity 
     //  finish(); 
     // startActivity(new Intent(this,userProfileActivity.class)); 
     //} 
     progressDialog=new ProgressDialog(this); 
     email_Id=(EditText)findViewById(R.id.email_id); 
     password=(EditText)findViewById(R.id.password); 
     sign_In=(Button)findViewById(R.id.sign_In); 
     sign_Up=(TextView)findViewById(R.id.sign_up); 
     sign_In.setOnClickListener(this); 
     sign_Up.setOnClickListener(this); 

    } 
    private void user_Login(){ 
     String email=email_Id.getText().toString().trim(); 
     String pass_word=password.getText().toString().trim(); 
     if(TextUtils.isEmpty(email)){ 
      // email is empty 
      Toast.makeText(this,"please enter email",Toast.LENGTH_SHORT).show(); 
      return;// to stop the function from executation. 
     } 
     if(TextUtils.isEmpty(pass_word)){ 
      // email is empty 
      Toast.makeText(this,"please enter password",Toast.LENGTH_SHORT).show(); 
      return; 
     } 
     // here if everything ok the user will be register 
     progressDialog.setMessage("Registering User,please wait..."); 
     progressDialog.show(); 
     firebaseAuth.signInWithEmailAndPassword(email,pass_word) 
       .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
        @Override 
        public void onComplete(@NonNull Task<AuthResult> task) { 
        progressDialog.dismiss(); 
         if (task.isSuccessful()){ 
          // start user profile activity 
          finish(); 
          startActivity(new Intent(getApplicationContext(),userProfileActivity.class)); 
         } 
        } 
       }); 
    } 
    @Override 
    public void onClick(View view) { 
     if (view==sign_In){ 
      // start user profile activity 
      user_Login(); 
     } 
     if(view==sign_Up){ 
      // go to registeration page 
      finish(); 
      startActivity(new Intent(this,FragmentThree.class)); 
     } 

    } 

} 

this is declaration

This is my login method

回答

0

在你的代码行抛出异常:

sign_Up.setOnClickListener(this); 

的问题是,sign_Upnull

您设置sign_Up有:sign_Up=(TextView)findViewById(R.id.sign_up);

确保,即setContentView(R.layout.activity_login);(activity_login)是正确的。如果尝试清理并重建项目并重试。


更新:这是可能的,这sign_up应该是一个按钮?如果你做错了!

更改此行的TextView:

sign_Up=(TextView)findViewById(R.id.sign_up);

到按钮,像这样:

sign_Up=(Button)findViewById(R.id.sign_up);

+0

您的问题后两张图片。但两张照片都是一样的。请更新它。问题出在loginActivity! –

+0

我已更新并添加了我的登录活动。请帮助 –

+0

请注释掉该行:sign_Up.setOnClickListener(本);和尝试,有无异常消失 –