2016-11-10 4 views
-1

私のアプリケーションをMotorola Nexus 6で実行すると、NullPointerExceptionが発生します.1つのTextViewでテキストを設定し、同じテキストを設定しています。いくつかのソリューションをオンラインで見ましたが、別のスマートフォン上のJVM、またはアクティビティの中に入れ子になっている私のフラグメントのライフサイクルです。大きなスクリーンデバイスでNullPointerExceptionが発生する

小さなデバイスではすべて正常に動作しています。

ログ怒鳴る:あなたは、それはおそらくあなたのresult1変数に値が割り当てられていないことを意味nullPointerExceptionを取得した場合

@Bind(R.id.button_resend_email) 
    AppCompatButton resendEmail; 
    @Bind(R.id.resend_user_email)AutoResizeTextView resendEmailTxt; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     DaggerForgotPasswordCompletedComponent.builder() 
       .applicationComponent(
         ((AndroidApplication) getActivity().getApplication()).getApplicationComponent()) 
       .forgotPasswordCompletedModule(new ForgotPasswordCompletedModule()) 
       .build() 
       .inject(this); 


    } 

    @Override 
    public void onStart() { 
     super.onStart(); 

     realm = getRealm(); 
     RealmQuery<Email> query1 = realm.where(Email.class); 
     Email result1 = query1.findFirst(); 

     resendEmailTxt = (AutoResizeTextView) getView().findViewById(R.id.resend_user_email) ; 

     this.resendEmailTxt.setText(result1.getUsername()); 

    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     realm.close(); 


    } 



    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     return inflater.inflate(R.layout.fragment_forgot_password_fragment_complete, container, false); 


    } 


    @Override 
    protected int getFragmentLayoutId() { 
     return R.layout.fragment_forgot_password_fragment_complete; 
    } 
+2

これが画面に関連しているとは限りません。 getRealm()はどのように見えますか? – zgc7009

+0

Samsung Galaxy S4では、すべて正常に動作しています。 Realmのインスタンスと初期化を取得するだけです。 –

答えて

1

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com..data.models.entity.Email.getUsername()' on a null object reference 
                at com..presenter.view.fragment.ForgotPasswordFragmentComplete.onStart(ForgotPasswordFragmentComplete.java:84) 

はここに私の断片です。つまり、あなたのquery1.findFirst()は何も返されていない可能性があります。

+0

query1、findFirstは正しいことを返しています。すでにLog.Andで確認しています。それはgalaxy s4でもうまくいきます。 –

+0

@AnonimoAnonimusあなたの質問の例外は、そうでなければ言います。 – 4castle

+0

[this](http://stackoverflow.com/questions/31366061/app-crahes-in-different-devices)のリンクをチェックすると、それはあなたの問題と似ているようです。 – DarkCygnus

0

コードをonStart()からonResume()に移動してください。

関連する問題