0
public class WorkFragment extends Fragment { 

List<CardViewItem> items = new ArrayList<>(); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Log.d("FRAGMENT", "Work Fragment started"); 

    TypedArray icons = getResources().obtainTypedArray(R.array.project_icons); 
    TypedArray names = getResources().obtainTypedArray(R.array.project_names); 
    TypedArray descs = getResources().obtainTypedArray(R.array.project_descs); 
    for (int i=0;i<icons.length();i++){ 
     items.add(new CardViewItem(icons.getDrawable(i), 
       names.getString(i), 
       descs.getString(i))); 
    } 
    icons.recycle(); 
    names.recycle(); 
    descs.recycle(); 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    Log.d("FRAGMENT", "Work Fragment onCreateView"); 
    View rootView = inflater.inflate(R.layout.fragment_work, container, false); 
    RecyclerView recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view); 
    LinearLayoutManager llm = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false); 
    recyclerView.setLayoutManager(llm); 
    recyclerView.setAdapter(new ItemAdapter(items)); 
    return inflater.inflate(R.layout.fragment_work, container, false); 
} 
} 

には、私は別々に使用して、elswhereコードを移動、空のアダプターを設定(私が発見したすべてのソリューションを試してきた私に「いいえアダプターが取り付けられていない。レイアウトをスキップ」フラグメント

E/RecyclerView: No adapter attached; skipping layout 

を与えますスレッド)は使用できません。これは正常な動作で動作するはずなので、私は何か間違っていると思います。

答えて

1

問題は、あなたが1から、fragment_work.xmlから始まる、新しい全く異なるビュー階層を膨張された第1のリターンで

return rootView

を持っている必要があり、主にこのライン

return inflater.inflate(R.layout.fragment_work, container, false); 

ですRecyclerViewが正しく設定されています。

+0

最悪のバグが見えにくいです。ありがとう! – Haruspik

関連する問題