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);
}
});
}
}