2016-07-31 3 views
0
@Override 
public void onResponse(String response, int id) { 
     if (response != null) { 
     try { 
      JSONObject all = new JSONObject(response); 
      List<cityBean.CityInfoBean> city = new Gson().fromJson(all.getString("city_info"), new TypeToken<ArrayList<cityBean.CityInfoBean>>() { 
      }.getType()); 
      for (int i = 0; i < city.size(); i++) { 
       mData.add(city.get(i).getCity()); 
      } 
      adapter = new MyAdapter(mData,MainActivity.this, R.layout.recyclerview_item); 
      mRv_main.setAdapter(adapter); 
      mSwipeRefreshLayout.setRefreshing(false); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
} 

E/RecyclerView: No adapter attached; skipping layout 
E/RecyclerView: No adapter attached; skipping layout 

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.CardView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="80dp" 
    app:cardCornerRadius="10dp" 
    app:cardElevation="5dp" 
    app:cardPreventCornerOverlap="true" 
    app:cardUseCompatPadding="true"> 
    <TextView 
     android:id="@+id/tv_city" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
    /> 
</android.support.v7.widget.CardView> 

В списке, чтобы увидеть данные, но, учитывая LogCatНе прилагается адаптер; пропуская макет, но Настраивает адаптер

No adapter attached; skipping layout 
+1

OkHttp не должно быть проблемой здесь ... В любом случае, что ваш вопрос? –

ответ

0

Я предполагаю, что эти сообщения являются пока не появится запрос OkHttp.

Попробуйте это в onCreate. Вы не должны переназначать адаптер, если вам действительно не нужно отображать другой тип данных.

adapter = new MyAdapter(mData,MainActivity.this, R.layout.recyclerview_item); 
mRv_main.setAdapter(adapter); 

В okhttp ответ, вы должны сделать это, чтобы обновить адаптер с новыми данными

mData.clear(); 
for (int i = 0; i < city.size(); i++) { 
    mData.add(city.get(i).getCity()); 
} 
adapter.notifyDataSetChanged(); 
mSwipeRefreshLayout.setRefreshing(false); 
Смежные вопросы