2017-04-24 7 views
-2

メンバーの1人がarraylistで、このユーザーのインスタンスを作成しましたが、新しい配列リストを設定しようとしている間にユーザーオブジェクトがありました。 "仮想メソッドクラスを呼び出そうとしました。 NULLオブジェクト参照」setterにアクセスしている間にnullPointerExceptionが発生しました

活性に対するUser.setUser_stocks_array(java.util.ArrayListの)」1:

private User localUser; 
localUser = new User("", email); 

String jsonString = new Gson().toJson(localUser); 
Intent loginUserIntent = new Intent(getBaseContext(), StockListActivity.class); 
            loginUserIntent.putExtra("EXTRA_USER_FROM_LOGIN", jsonString); 
startActivity(loginUserIntent); 

活動2:

public User gsonReturnUser(String jsonInString){ 
     Gson gson = new Gson(); 
     User tmpUser = gson.fromJson(jsonInString, User.class); 

     Stock s1 = new Stock("hsdsf", "aa", 15, 20, "yes 4"); 
     Stock s2 = new Stock("cvcx", "aa", 25, 50, "yes fgfd"); 
     Stock s3 = new Stock("asd", "aa", 45, 54, "yes fdg"); 
     Stock s4 = new Stock("uiudf", "aa", 75, 98, "yes cv"); 

     ArrayList<Stock> tmpList = new ArrayList<Stock>(); 
     tmpList.add(0, s1); 
     tmpList.add(1, s2); 
     tmpList.add(2, s3); 
     tmpList.add(3, s4); 

     tmpUser.setUser_stocks_array(tmpList); 

     return tmpUser; 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_stock_list); 
     String userFromLogin = getIntent().getStringExtra("EXTRA_USER_FROM_LOGIN"); 
     localUser = gsonReturnUser(userFromLogin); 
     stockList = localUser.getUser_stocks_array(); 
} 

私のセッター。

public void setUser_stocks_array(ArrayList<Stock> user_stocks_array) { 
    this.user_stocks_array = user_stocks_array; 
} 

なぜこのようなことが起こりますか? ありがとう!

更新: 私の最初の活動が適切に発売されていなかったことは、NullPointerExceptionが理由です。

+1

を送信する代わりに、JSON文字列のparcelableを使用することをお勧め 'fromJson'は、あなたが処理されませんこれは、' null'なのでを返すことができます。 – Michael

+1

をデバッガで実行し、変数の値を確認します。良い候補は、 'jsonInString'はあなたが思うものではないということです。典型的な理由は、定数の名前のタイプミスである可能性があります。 – njzk2

答えて

1

あなたのtmpUserオブジェクトは、gson.fromJson()メソッドからnull応答を受け取っている可能性があります。

+0

あなたはそうです、それはnullです、それがnullである理由は何でしょうか? – Coder123

+0

私はこのGsonライブラリを使ったことがないので、わかりません。私は、Androidのネイティブクラスを使用してJSONオブジェクトを解析する方が好きです。 –

関連する問題