2015-11-12 3 views
0

Я проверил все ответы о моей проблеме на StackOverFlow, но никто не решает мою проблему.Не прилагается адаптер; пропуская макет, RecyclerView

У меня есть фрагмент и init RecyclerView в методе onCreateView и ничего более. Но у меня все еще есть проблема.

мой код:

private RecyclerView mStatisticView; 
private StatisticAdapter adapter; 

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

    // Inflate the layout for this fragment 
    View v = inflater.inflate(R.layout.fragment_stat, container, false); 

    mStatisticView = (RecyclerView) v.findViewById(R.id.rv_stats); 
    mStatisticView.setHasFixedSize(true); 
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity()); 
    mStatisticView.setLayoutManager(linearLayoutManager); 
    adapter = new StatisticAdapter(); 
    List<StatisticLabel> list = new ArrayList<>(); 
    list.add(<Data object>); 
    list.add(<Data object>); 
    list.add(<Data object>); 
    adapter.addItems(list); 
    mStatisticView.setAdapter(adapter); 

    return v; 
} 

Не могли бы вы помочь мне, что не так?

ответ

2

Вы не должны беспокоиться об этом сообщении вообще. Это происходит, когда RecyclerView находится в фазе компоновки и пытается проверить, может ли на этой же стадии компоновка и его дочерние элементы. Итак, все выложено на одном этапе. После установки адаптера это сообщение не появится.

+0

Вы правы, спасибо! – Tim

0

В методе onCreateView() активность не закончена, поэтому getActivity() должен возвращать значение null. Это может стать проблемой, поэтому постарайтесь, чтобы установить свои вещи в onActivityCreated()

enter image description here

+0

Я проверил его, getActivity() всегда не равен нулю – Tim

Смежные вопросы