2016-10-31 8 views
0

私は改造を使用して情報を取得しています。 Idはその情報をローカル変数に保存して、ユーザーがアイテムをお気に入りにするとデバイスにローカルに保存できるようにします。どのようにあなたは改造からのリスト応答を保存しますか

public void fetchTrailerData(int movieId) { 
    ApiInterface apiServies = ApiClient.getClient().create(ApiInterface.class); 
    Call<TrailerResponse> call = apiServies.getTrailersForMovie(movieId, BuildConfig.OPEN_WEATHER_MAP_API_KEY); 
    call.enqueue(new Callback<TrailerResponse>() { 
     @Override 
     public void onResponse(Call<TrailerResponse> call, Response<TrailerResponse> response) { 
      List<Trailer> trailers = response.body().getResults(); 
      if (trailers != null && trailers.size() > 0 && !trailers.isEmpty()) { 
       Utilities util = new Utilities(mContext); 
       util.populateTrailer(mView, trailers); 
      } 
     } 

     @Override 
     public void onFailure(Call<TrailerResponse> call, Throwable t) { 

     } 
    }); 
} 

私が解決策を探して誰かを正しい方向に向けることができず、不足していました。

+1

オブジェクトを保持するためにsharedpreferencesを使用できないのはなぜですか? –

+0

私はそれを考えなかった.../ ありがとう! –

答えて

1

いいえ、ローカル変数は使用できません。実行フローがonResponseメソッドから抜けると、ローカル変数が消去されます。 代わりに、インスタンス変数を使用し、返された結果を代入します。

Hereはこれを行うための要点の例です。

関連する問題