Expandable Recyclerview findViewById(int) 无法解析

Expandable Recyclerview findViewById(int) cannot be resolved

错误 findViewById(int) 无法解析方法

试图在片段中实现

自定义 RecyclerView,允许将可扩展视图附加到每个 ViewHolder

有没有办法在展开视图中点击操作

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.bignerdranch.expandablerecyclerview.Model.ParentObject;
import com.blipclap.engineering_solution.Adapter.adapter;
import com.blipclap.engineering_solution.Models.TitleChild;
import com.blipclap.engineering_solution.Models.TitleCreator;
import com.blipclap.engineering_solution.Models.TitleParent;

import java.util.ArrayList;
import java.util.List;


public class SYFragment extends Fragment {
    RecyclerView recyclerView;

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        ((adapter)recyclerView.getAdapter()).onSaveInstanceState(outState);
    }

    @Override
    public void onCreate( Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        recyclerView =(RecyclerView)findViewById(R.id.recyclerview);
        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

        adapter adapter =new adapter(getActivity(),initData());
        adapter.setParentClickableViewAnimationDefaultDuration();
        adapter.setParentAndIconExpandOnClick(true);

        recyclerView.setAdapter(adapter);
    }

    private List<ParentObject> initData() {
        TitleCreator titleCreator =TitleCreator.get(getActivity());
        List<TitleParent> titles = titleCreator.getall();
        List<ParentObject> parentObjects =new ArrayList<>();
        for (TitleParent title:titles)
        {
            List<Object> childList =new ArrayList<>();
            childList.add((new TitleChild("Add to contact","send message")));
            title.setChildObjectList(childList);
            parentObjects.add(title);
        }
        return parentObjects;
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        //returning our layout file
        //change R.layout.yourlayoutfilename for each of your fragments
        return inflater.inflate(R.layout.fragment_sy, container, false);
    }


    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        //you can set the title for your toolbar here for different fragments different titles
        getActivity().setTitle("Syllabus");
    }
}

正在尝试实现可扩展的 Recyclerview

Error:(34, 37) 错误:找不到符号方法 findViewById(int)

findViewById 不是 Fragment 方法,因此无法在其 onCreate 中解析。你不能像 Activity.

您必须在您的 onCreateViewonViewCreated 方法中使用它,并且您必须在您膨胀的视图上调用它。

例如:

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    //you can set the title for your toolbar here for different fragments different titles
    getActivity().setTitle("Syllabus");

    recyclerView =(RecyclerView) view.findViewById(R.id.recyclerview);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

    adapter adapter =new adapter(getActivity(),initData());
    adapter.setParentClickableViewAnimationDefaultDuration();
    adapter.setParentAndIconExpandOnClick(true);

    recyclerView.setAdapter(adapter)
}

或者..

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    //returning our layout file
    //change R.layout.yourlayoutfilename for each of your fragments
    View rootView = inflater.inflate(R.layout.fragment_sy, container, false);

    recyclerView =(RecyclerView) rootView.findViewById(R.id.recyclerview);

     ...
    return rootView;
}