Android 在recyclerview标题中添加微调器并对其进行管理';从中选择&x27;s片段类

Android 在recyclerview标题中添加微调器并对其进行管理';从中选择&x27;s片段类,android,android-fragments,android-recyclerview,Android,Android Fragments,Android Recyclerview,我有一个片段,里面有recyclerview内部SwipeRefreshLayout 现在我想在recyclerview中添加一个包含spinner的头,我可以从recyclerview适配器中执行该操作,现在的问题是我想在该spinner上应用setOnItemSelectedListener,并对其执行一些操作,但我想从fragment类而不是从适配器中处理该操作,但我不能这样做 你能指导我吗,我怎样才能做到这一点 非常感谢您使用advanced。您可以在Adapter类中创建一个方法,例如

我有一个
片段
,里面有
recyclerview
内部
SwipeRefreshLayout

现在我想在
recyclerview
中添加一个包含
spinner
的头,我可以从recyclerview适配器中执行该操作,现在的问题是我想在该spinner上应用
setOnItemSelectedListener
,并对其执行一些操作,但我想从
fragment
类而不是从适配器中处理该操作,但我不能这样做

你能指导我吗,我怎样才能做到这一点


非常感谢您使用advanced。您可以在Adapter类中创建一个方法,例如:

public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> {

    // From my understanding you created the Spinner from within the Adapter.
    // So it would live here.
    public Spinner mySpinner;

    @Override
    public CustomFieldViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        // Create ViewHolder.
    }

    @Override
    public int getItemCount() {
        // Return the number of itemViews in the RecyclerView here!
        // Usually the size of the dataset being mapped to "rows" (itemViews).
    }

    @Override
    public int getItemViewType(int position) {
        // Map the current item in the dataset to a particular view.
    }

    @Override
    public void onBindViewHolder(MyViewHolder viewHolder, int position) {
        // Called when the ViewHolder is created / recycled.
    }

    public int getSpinnerSelection() {
         // Just an example. You would have your custom method here.
        return mySpinner.getSelectedItemPosition();
    }
} 
public class MyFragment extends android.support.v4.app.Fragment {

    // ... Fragment methods.

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        RecyclerView myRecyclerView = (RecyclerView) getActivity().findViewById(R.id.my_recycler);
        MyAdapter myAdapter = new new MyAdapter(/* things here for initialiser */);
        myRecyclerView.setAdapter(myAdapter);

        Button myButton = (Button) getActivity().findViewById(R.id.my_button);
        TextView myTextView = (TextView) getActivity().findViewById(R.id.my_text_view);

        myButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Use the reference to the adapter to call your custom method.
                int numItemsInRecyclerView = myAdapter.getSpinnerSelection();
                myTextView.setText("Number of items : " + numItemsInRecyclerView);
            }
        });
    }
}