2017-05-14 11 views
0

3つのタブアクティビティがあるアプリを作成しています。タブ3では、このテキストをクリックするたびに新しいアクティビティを開く必要がありますがアプリこれをクリックするとクラッシュします。 私はこの問題を解決するために多くの研究を行ってきましたが、私は最後に解決できません。私の問題解決のためにここにいます。 ありがとうございます。 これは私の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を設定します。setContentView(R.layout.activity_login);(activity_login)が正しいものであることを、確認してくださいsign_Up=(TextView)findViewById(R.id.sign_up);

。もしそうなら、あなたのプロジェクトをきれいにして再構築して、やり直してみてください。


更新:それはsign_upボタンでなければならないこと、可能ですか?もしあなたが間違ったキャストをしたら!

変更し、このラインでのTextView:ボタンに

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

、次のように:

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

+0

あなたはあなたの質問のポストに2枚の絵を持っています。しかし、どちらの写真も同じです。それを更新してください。問題はloginActivityにあります! –

+0

ログインアクティビティを更新して追加しました。助けてください –

+0

この行をコメントアウトしてください:sign_Up.setOnClickListener(this);例外がなくなるかどうかを試してみてください –

関連する問題