无法解析方法setOnChildClickListener

We'*_*ere 5 java android arraylist expandablelistview

这是我的整个活动代码,如果nessery我也可以发布我的xml.

public class Main_Activityextends AppCompatActivity {
private RecyclerView recyclerview;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
    recyclerview.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
    List<ExpandableListViewAdapter.Item> data = new ArrayList<>();

    data.add(new ExpandableListViewAdapter.Item(ExpandableListViewAdapter.HEADER, "Terms of usage"));
    data.add(new ExpandableListViewAdapter.Item(ExpandableListViewAdapter.CHILD, "never eat"));
    data.add(new ExpandableListViewAdapter.Item(ExpandableListViewAdapter.CHILD, "bluhhhhh"));

    recyclerview.setAdapter(new ExpandableListViewAdapter(data));

     recyclerview.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
        @Override
        public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
            return true;
        }

    });
Run Code Online (Sandbox Code Playgroud)

代码在没有的情况下完美运行clickListener,但我希望在点击某个阵列的某个孩子时发生一个动作,但是现在它说Cannot resolve method setOnChildClickListener(anonymous android.widget.ExpendableListView.OnChildClickListener)虽然这recycleView是我的Adapter,但任何帮助都将受到赞赏

Kan*_*ley 2

简而言之,RecyclerView不支持 an OnChildClickListener,因为它无意直接一对一替代 aListView

要获得很好的解释,请查看这个 stackoverflow 答案

你应该像这样View.OnClickListener在你的类中实现:ViewHolder

public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

    // Your view fields here

    public ViewHolder(View itemLayoutView) {
        super(itemLayoutView);

        // Assign view fields

        itemLayoutView.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        // Do your thing here
    }
}
Run Code Online (Sandbox Code Playgroud)