How to setup onItemSelected for a spinner in ViewPager2.
I've set up the spinner in the ViewHolder() but can't figure out how to implement the @Override onItemSelected.
ViewPagerAdapter extends RecyclerView.Adapter<ViewPagerAdapter.ViewHolder> {
Context mContext;
ViewPagerAdapter(Context context) {
this.mContext = context;
}
public class ViewHolder extends RecyclerViewViewHolder {
private Spinner mSpinner;
ViewHolder(View itemView) {
mSpinner = itemView.findViewById(R.id.mySpinner);
ArrayAdapter<CharSequence> spinnerAdapter = ArrayAdapter.createFromResource(mContext, R.array.myArray, android.R.layout.simple_spinner_item);
spinnerAdapter.setDropDownViewResrouce(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(spinnerAdapter);
mSpinner.setOnItemSelectedListener((AdapterView.OnItemSelectedListener)mContext);
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d(LOG_TAG, "Spinner Changed");
}
I would expect to see the "Spinner Changed" entry in the log after selecting a new spinner item.
According to what you say,
I get the following error when trying to run the app, error: method does not override or implement a method from a supertype.
Have you tried
mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d(LOG_TAG, "Spinner Changed");
}
});