2016-06-14 2 views
0

최근에 Json 연습을 위해 Retrofit nad Retrofit 작업을하고 있습니다. 나는 모든 것을 관리해 왔지만, 내 애플 리케이션을 실행할 때, 깔린 어댑터가 없다는 것을 보여준다.RecycleView 어댑터가 연결되지 않았습니다.

이 내 MainActivity 클래스

public class MainActivity extends AppCompatActivity{ 
public MyRecycleViewAdapter adapter; 
public RecyclerView recyclerView; 
List<Movie> movies; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 


    recyclerView = (RecyclerView) findViewById(R.id.recycler_view); 
    LinearLayoutManager llm= new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false); 
    recyclerView.setLayoutManager(llm); 

    ApiINterface apiINterface = ApiClient.getClient().create(ApiINterface.class); 
    Call<Movies> call = apiINterface.getSongList("just_added"); 

    call.enqueue(new Callback<Movies>() { 
     @Override 
     public void onResponse(Call<Movies> call, Response<Movies> response) { 

      movies = response.body().getMovies(); 

      adapter = new MyRecycleViewAdapter(MainActivity.this , movies); 
      recyclerView.setAdapter(adapter); 
     } 

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

     } 
    }); 

}} 

입니다 그리고 이것은 내 로그 캣입니다 : 내가 찾을 수없는 문제가 무엇

06-14 17:05:21.16125804-25804/com.example.lolipop.retrofitexamplewithhindisong E/RecyclerView: 
    No adapter attached; skipping layout 06-14 17:05:21.331 25804-25804/com.example.lolipop.retrofitexamplewithhindisong E/RecyclerView: No adapter attached; skipping layout 
    06-14 17:05:21.371 25804-25804/com.example.lolipop.retrofitexamplewithhindisong E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NullPointerException                         at com.example.lolipop.retrofitexamplewithhindisong.MainActivity$1.onResponse(MainActivity.java:45) at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68) 
    at android.os.Handler.handleCallback(Handler.java:615) 
    at android.os.Handler.dispatchMessage(Handler.java:92) 
    at android.os.Looper.loop(Looper.java:155) 
    at android.app.ActivityThread.main(ActivityThread.java:5511) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:511) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:796)        at dalvik.system.NativeStart.main(Native Method) 

.

+0

가능한 중복 된 [I 고칠 어떻게 NullPointerException이, 그리고 무엇?] (http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception - 더 나은 은 널 (null)를 확인합니다 -and-how-do-i-fix-it) – Ironman

+0

왜이 질문은 중복 될 것인가? RecycleView Adapter 문제와 null 점 문제인 태그 @Ironman – pavel

+1

'response.body(). getMovies() ; 'null 값을 반환하지 않습니까? –

답변

2

나는 response.body().getMovies() null을 반환한다고 생각합니다. 의

if(response.body() != null && response.body().getMovies() != null && response.body().getMovies().size()> 0){ 
adapter = new MyRecycleViewAdapter(MainActivity.this , movies); 
       recyclerView.setAdapter(adapter); 
} 
+1

예. 네가 네가 맞다고 응답하지 않는다. – pavel

관련 문제